KiCad PCB EDA Suite
BITMAP_BASE Class Reference

This class handle bitmap images in KiCad. More...

#include <bitmap_base.h>

Public Member Functions

 BITMAP_BASE (const wxPoint &pos=wxPoint(0, 0))
 
 BITMAP_BASE (const BITMAP_BASE &aSchBitmap)
 
 ~BITMAP_BASE ()
 
double GetPixelScaleFactor () const
 
void SetPixelScaleFactor (double aSF)
 
wxImage * GetImageData ()
 
const wxImage * GetImageData () const
 
void SetImage (wxImage *aImage)
 
double GetScale () const
 
void SetScale (double aScale)
 
void RebuildBitmap ()
 
void SetBitmap (wxBitmap *aBitMap)
 
void ImportData (BITMAP_BASE *aItem)
 Function ImportData Copy aItem image to me and update m_bitmap. More...
 
double GetScalingFactor () const
 Function GetScalingFactor. More...
 
wxSize GetSize () const
 Function GetSize. More...
 
wxSize GetSizePixels () const
 Function GetSizePixels. More...
 
int GetPPI () const
 
const EDA_RECT GetBoundingBox () const
 Function GetBoundingBox returns the orthogonal, bounding box of this object for display purposes. More...
 
void DrawBitmap (wxDC *aDC, const wxPoint &aPos)
 
bool ReadImageFile (const wxString &aFullFilename)
 Reads and stores in memory an image file. More...
 
bool ReadImageFile (wxInputStream &aInStream)
 Reads and stores in memory an image file. More...
 
bool SaveData (FILE *aFile) const
 writes the bitmap data to aFile The format is png, in Hexadecimal form: If the hexadecimal data is converted to binary it gives exactly a .png image data More...
 
void SaveData (wxArrayString &aPngStrings) const
 writes the bitmap data to an array string The format is png, in Hexadecimal form: If the hexadecimal data is converted to binary it gives exactly a .png image data More...
 
bool LoadData (LINE_READER &aLine, wxString &aErrorMsg)
 Load an image data saved by SaveData (png, in Hexadecimal form) More...
 
void Mirror (bool aVertically)
 Function Mirror Mirror image vertically (i.e. More...
 
void Rotate (bool aRotateCCW)
 Function Rotate Rotate image CW or CCW. More...
 
void PlotImage (PLOTTER *aPlotter, const wxPoint &aPos, KIGFX::COLOR4D aDefaultColor, int aDefaultPensize)
 Function PlotImage Plot bitmap on plotter. More...
 

Private Attributes

double m_scale
 
wxImage * m_image
 
wxBitmap * m_bitmap
 
double m_pixelScaleFactor
 
int m_ppi
 

Detailed Description

This class handle bitmap images in KiCad.

It is not intended to be used alone, but inside another class, so all methods are protected ( or private ) It is used in SCH_BITMAP class and WS_DRAW_ITEM_BITMAP (and other in future)

Remember not all plotters are able to plot a bitmap Mainly GERBER plotters cannot.

Definition at line 51 of file bitmap_base.h.

Constructor & Destructor Documentation

◆ BITMAP_BASE() [1/2]

BITMAP_BASE::BITMAP_BASE ( const wxPoint &  pos = wxPoint( 0, 0 ))

Definition at line 46 of file bitmap_base.cpp.

47 {
48  m_scale = 1.0; // 1.0 = original bitmap size
49  m_bitmap = NULL;
50  m_image = NULL;
51  m_ppi = 300; // the bitmap definition. the default is 300PPI
52  m_pixelScaleFactor = 1000.0 / m_ppi; // a value OK for bitmaps using 300 PPI
53  // for Eeschema which uses currently 1000PPI
54 }
double m_scale
Definition: bitmap_base.h:54
wxBitmap * m_bitmap
Definition: bitmap_base.h:57
double m_pixelScaleFactor
Definition: bitmap_base.h:58
wxImage * m_image
Definition: bitmap_base.h:56

References m_bitmap, m_image, m_pixelScaleFactor, m_ppi, and m_scale.

◆ BITMAP_BASE() [2/2]

BITMAP_BASE::BITMAP_BASE ( const BITMAP_BASE aSchBitmap)

Definition at line 57 of file bitmap_base.cpp.

58 {
59  m_scale = aSchBitmap.m_scale;
60  m_ppi = aSchBitmap.m_ppi;
62 
63  m_image = nullptr;
64  m_bitmap = nullptr;
65 
66  if( aSchBitmap.m_image )
67  {
68  m_image = new wxImage( *aSchBitmap.m_image );
69  m_bitmap = new wxBitmap( *m_image );
70  }
71 }
double m_scale
Definition: bitmap_base.h:54
wxBitmap * m_bitmap
Definition: bitmap_base.h:57
double m_pixelScaleFactor
Definition: bitmap_base.h:58
wxImage * m_image
Definition: bitmap_base.h:56

References m_bitmap, m_image, m_pixelScaleFactor, m_ppi, and m_scale.

◆ ~BITMAP_BASE()

BITMAP_BASE::~BITMAP_BASE ( )
inline

Definition at line 70 of file bitmap_base.h.

71  {
72  delete m_bitmap;
73  delete m_image;
74  }
wxBitmap * m_bitmap
Definition: bitmap_base.h:57
wxImage * m_image
Definition: bitmap_base.h:56

References m_bitmap, and m_image.

Member Function Documentation

◆ DrawBitmap()

void BITMAP_BASE::DrawBitmap ( wxDC *  aDC,
const wxPoint &  aPos 
)

Definition at line 242 of file bitmap_base.cpp.

243 {
244  if( m_bitmap == NULL )
245  return;
246 
247  wxPoint pos = aPos;
248  wxSize size = GetSize();
249 
250  // This fixes a bug in OSX that should be fixed in the 3.0.3 version or later.
251  if( ( size.x == 0 ) || ( size.y == 0 ) )
252  return;
253 
254  // To draw the bitmap, pos is the upper left corner position
255  pos.x -= size.x / 2;
256  pos.y -= size.y / 2;
257 
258  double scale;
259  int logicalOriginX, logicalOriginY;
260  aDC->GetUserScale( &scale, &scale );
261  aDC->GetLogicalOrigin( &logicalOriginX, &logicalOriginY );
262  aDC->SetUserScale( scale * GetScalingFactor(), scale * GetScalingFactor() );
263  aDC->SetLogicalOrigin( logicalOriginX / GetScalingFactor(),
264  logicalOriginY / GetScalingFactor() );
265  aDC->DrawBitmap( *m_bitmap,
266  KiROUND( pos.x / GetScalingFactor() ),
267  KiROUND( pos.y / GetScalingFactor() ),
268  true );
269  aDC->SetUserScale( scale, scale );
270  aDC->SetLogicalOrigin( logicalOriginX, logicalOriginY );
271 }
double GetScalingFactor() const
Function GetScalingFactor.
Definition: bitmap_base.h:125
wxSize GetSize() const
Function GetSize.
wxBitmap * m_bitmap
Definition: bitmap_base.h:57
const int scale
constexpr ret_type KiROUND(fp_type v)
Round a floating point number to an integer using "round halfway cases away from zero".
Definition: common.h:114

References GetScalingFactor(), GetSize(), KiROUND(), m_bitmap, and scale.

Referenced by DIALOG_IMAGE_EDITOR::OnRedrawPanel(), SCH_BITMAP::Print(), and WS_DRAW_ITEM_BITMAP::PrintWsItem().

◆ GetBoundingBox()

const EDA_RECT BITMAP_BASE::GetBoundingBox ( ) const

Function GetBoundingBox returns the orthogonal, bounding box of this object for display purposes.

This box should be an enclosing perimeter for visible components of this object, and the units should be in the pcb or schematic coordinate system. It is OK to overestimate the size by a few counts.

Definition at line 230 of file bitmap_base.cpp.

231 {
232  EDA_RECT rect;
233 
234  wxSize size = GetSize();
235 
236  rect.Inflate( size.x / 2, size.y / 2 );
237 
238  return rect;
239 }
wxSize GetSize() const
Function GetSize.
Class EDA_RECT handles the component boundary box.
Definition: eda_rect.h:44
EDA_RECT & Inflate(wxCoord dx, wxCoord dy)
Function Inflate inflates the rectangle horizontally by dx and vertically by dy.

References GetSize(), and EDA_RECT::Inflate().

Referenced by SCH_BITMAP::GetBoundingBox().

◆ GetImageData() [1/2]

wxImage* BITMAP_BASE::GetImageData ( )
inline

◆ GetImageData() [2/2]

const wxImage* BITMAP_BASE::GetImageData ( ) const
inline

Definition at line 84 of file bitmap_base.h.

84 { return m_image; }
wxImage * m_image
Definition: bitmap_base.h:56

References m_image.

◆ GetPixelScaleFactor()

double BITMAP_BASE::GetPixelScaleFactor ( ) const
inline

Definition at line 80 of file bitmap_base.h.

80 { return m_pixelScaleFactor; }
double m_pixelScaleFactor
Definition: bitmap_base.h:58

References m_pixelScaleFactor.

◆ GetPPI()

int BITMAP_BASE::GetPPI ( ) const
inline
Returns
the bitmap definition in ppi the default is 300 ppi

Definition at line 153 of file bitmap_base.h.

154  {
155  return m_ppi;
156  }

References m_ppi.

Referenced by KIGFX::CAIRO_GAL_BASE::DrawBitmap(), KIGFX::OPENGL_GAL::DrawBitmap(), WS_DATA_ITEM_BITMAP::GetPPI(), and WS_DATA_ITEM_BITMAP::SetPPI().

◆ GetScale()

double BITMAP_BASE::GetScale ( ) const
inline

◆ GetScalingFactor()

double BITMAP_BASE::GetScalingFactor ( ) const
inline

Function GetScalingFactor.

Returns
the scaling factor from pixel size to actual draw size this scaling factor depends on m_pixelScaleFactor and m_scale m_pixelScaleFactor gives the scaling factor between a pixel size and the internal schematic units m_scale is an user dependant value, and gives the "zoom" value m_scale = 1.0 = original size of bitmap. m_scale < 1.0 = the bitmap is drawn smaller than its original size. m_scale > 1.0 = the bitmap is drawn bigger than its original size.

Definition at line 125 of file bitmap_base.h.

126  {
127  return m_pixelScaleFactor * m_scale;
128  }
double m_scale
Definition: bitmap_base.h:54
double m_pixelScaleFactor
Definition: bitmap_base.h:58

References m_pixelScaleFactor, and m_scale.

Referenced by DrawBitmap(), GetSize(), DIALOG_IMAGE_EDITOR::OnRedrawPanel(), and PlotImage().

◆ GetSize()

wxSize BITMAP_BASE::GetSize ( ) const

Function GetSize.

Returns
the actual size (in user units, not in pixels) of the image

Definition at line 274 of file bitmap_base.cpp.

275 {
276  wxSize size;
277 
278  if( m_bitmap )
279  {
280  size.x = m_bitmap->GetWidth();
281  size.y = m_bitmap->GetHeight();
282 
283  size.x = KiROUND( size.x * GetScalingFactor() );
284  size.y = KiROUND( size.y * GetScalingFactor() );
285  }
286 
287  return size;
288 }
double GetScalingFactor() const
Function GetScalingFactor.
Definition: bitmap_base.h:125
wxBitmap * m_bitmap
Definition: bitmap_base.h:57
constexpr ret_type KiROUND(fp_type v)
Round a floating point number to an integer using "round halfway cases away from zero".
Definition: common.h:114

References GetScalingFactor(), KiROUND(), and m_bitmap.

Referenced by DrawBitmap(), GetBoundingBox(), and SCH_BITMAP::GetSize().

◆ GetSizePixels()

wxSize BITMAP_BASE::GetSizePixels ( ) const
inline

Function GetSizePixels.

Returns
the size in pixels of the image

Definition at line 141 of file bitmap_base.h.

142  {
143  if( m_image )
144  return wxSize( m_image->GetWidth(), m_image->GetHeight() );
145  else
146  return wxSize( 0, 0 );
147  }
wxImage * m_image
Definition: bitmap_base.h:56

References m_image.

Referenced by KIGFX::GL_BITMAP_CACHE::cacheBitmap(), DIALOG_IMAGE_EDITOR::CheckValues(), KIGFX::CAIRO_GAL_BASE::DrawBitmap(), and KIGFX::OPENGL_GAL::DrawBitmap().

◆ ImportData()

void BITMAP_BASE::ImportData ( BITMAP_BASE aItem)

Function ImportData Copy aItem image to me and update m_bitmap.

Definition at line 78 of file bitmap_base.cpp.

79 {
80  *m_image = *aItem->m_image;
81  *m_bitmap = *aItem->m_bitmap;
82  m_scale = aItem->m_scale;
83  m_ppi = aItem->m_ppi;
85 }
double m_scale
Definition: bitmap_base.h:54
wxBitmap * m_bitmap
Definition: bitmap_base.h:57
double m_pixelScaleFactor
Definition: bitmap_base.h:58
wxImage * m_image
Definition: bitmap_base.h:56

References m_bitmap, m_image, m_pixelScaleFactor, m_ppi, and m_scale.

Referenced by DIALOG_IMAGE_EDITOR::TransferToImage().

◆ LoadData()

bool BITMAP_BASE::LoadData ( LINE_READER aLine,
wxString &  aErrorMsg 
)

Load an image data saved by SaveData (png, in Hexadecimal form)

Parameters
aLine- the LINE_READER used to read the data file.
aErrorMsg- Description of the error if an error occurs while loading the png bimap data.
Returns
true if the bitmap loaded successfully.

Definition at line 184 of file bitmap_base.cpp.

185 {
186  wxMemoryOutputStream stream;
187  char* line;
188 
189  while( true )
190  {
191  if( !aLine.ReadLine() )
192  {
193  aErrorMsg = wxT("Unexpected end of data");
194  return false;
195  }
196 
197  line = aLine.Line();
198 
199  if( strncasecmp( line, "EndData", 4 ) == 0 )
200  {
201  // all the PNG date is read.
202  // We expect here m_image and m_bitmap are void
203  m_image = new wxImage();
204  wxMemoryInputStream istream( stream );
205  m_image->LoadFile( istream, wxBITMAP_TYPE_PNG );
206  m_bitmap = new wxBitmap( *m_image );
207  break;
208  }
209 
210  // Read PNG data, stored in hexadecimal,
211  // each byte = 2 hexadecimal digits and a space between 2 bytes
212  // and put it in memory stream buffer
213  int len = strlen( line );
214 
215  for( ; len > 0; len -= 3, line += 3 )
216  {
217  int value = 0;
218 
219  if( sscanf( line, "%X", &value ) == 1 )
220  stream.PutC( (char) value );
221  else
222  break;
223  }
224  }
225 
226  return true;
227 }
char * Line() const
Function Line returns a pointer to the last line that was read in.
Definition: richio.h:139
wxBitmap * m_bitmap
Definition: bitmap_base.h:57
virtual char * ReadLine()=0
Function ReadLine reads a line of text into the buffer and increments the line number counter.
wxImage * m_image
Definition: bitmap_base.h:56

References LINE_READER::Line(), m_bitmap, m_image, and LINE_READER::ReadLine().

Referenced by PAGE_LAYOUT_READER_PARSER::readPngdata().

◆ Mirror()

void BITMAP_BASE::Mirror ( bool  aVertically)

Function Mirror Mirror image vertically (i.e.

relative to its horizontal X axis ) or horizontally (i.e relative to its vertical Y axis)

Parameters
aVertically= false to mirror horizontally or true to mirror vertically

Definition at line 291 of file bitmap_base.cpp.

292 {
293  if( m_image )
294  {
295  *m_image = m_image->Mirror( not aVertically );
296  RebuildBitmap();
297  }
298 }
void RebuildBitmap()
Definition: bitmap_base.h:100
wxImage * m_image
Definition: bitmap_base.h:56

References m_image, and RebuildBitmap().

Referenced by SCH_BITMAP::MirrorX(), and SCH_BITMAP::MirrorY().

◆ PlotImage()

void BITMAP_BASE::PlotImage ( PLOTTER aPlotter,
const wxPoint &  aPos,
KIGFX::COLOR4D  aDefaultColor,
int  aDefaultPensize 
)

Function PlotImage Plot bitmap on plotter.

If the plotter does not support bitmaps, plot a

Parameters
aPlotter= the plotter to use
aPos= the position od the center of the bitmap
aDefaultColor= the color used to plot the rectangle when bitmap is not supported
aDefaultPensize= the pen size used to plot the rectangle when bitmap is not supported

Definition at line 311 of file bitmap_base.cpp.

315 {
316  if( m_image == NULL )
317  return;
318 
319  // These 2 lines are useful only for plotters that cannot plot a bitmap
320  // and plot a rectangle instead of.
321  aPlotter->SetColor( aDefaultColor );
322  aPlotter->SetCurrentLineWidth( aDefaultPensize );
323  aPlotter->PlotImage( *m_image, aPos, GetScalingFactor() );
324 }
double GetScalingFactor() const
Function GetScalingFactor.
Definition: bitmap_base.h:125
virtual void SetColor(COLOR4D color)=0
virtual void PlotImage(const wxImage &aImage, const wxPoint &aPos, double aScaleFactor)
Function PlotImage Only Postscript plotters can plot bitmaps for plotters that cannot plot a bitmap,...
Definition: plotter.cpp:230
wxImage * m_image
Definition: bitmap_base.h:56
virtual void SetCurrentLineWidth(int width, void *aData=NULL)=0
Set the line width for the next drawing.

References GetScalingFactor(), m_image, PLOTTER::PlotImage(), PLOTTER::SetColor(), and PLOTTER::SetCurrentLineWidth().

Referenced by SCH_BITMAP::Plot().

◆ ReadImageFile() [1/2]

bool BITMAP_BASE::ReadImageFile ( const wxString &  aFullFilename)

Reads and stores in memory an image file.

Init the bitmap format used to draw this item. supported images formats are format supported by wxImage if all handlers are loaded by default, .png, .jpeg are always loaded

Parameters
aFullFilenameThe full filename of the image file to read.
Returns
bool - true if success reading else false.

Definition at line 105 of file bitmap_base.cpp.

106 {
107  wxImage* new_image = new wxImage();
108 
109  if( !new_image->LoadFile( aFullFilename ) )
110  {
111  delete new_image;
112  return false;
113  }
114 
115  delete m_image;
116  m_image = new_image;
117  m_bitmap = new wxBitmap( *m_image );
118 
119  return true;
120 }
wxBitmap * m_bitmap
Definition: bitmap_base.h:57
wxImage * m_image
Definition: bitmap_base.h:56

References m_bitmap, and m_image.

Referenced by PL_EDITOR_FRAME::AddPageLayoutItem(), and SCH_BITMAP::ReadImageFile().

◆ ReadImageFile() [2/2]

bool BITMAP_BASE::ReadImageFile ( wxInputStream &  aInStream)

Reads and stores in memory an image file.

Init the bitmap format used to draw this item. supported images formats are format supported by wxImage if all handlers are loaded by default, .png, .jpeg are always loaded

Parameters
aInStreaman input stream containing the file data
Returns
bool - true if success reading else false.

Definition at line 88 of file bitmap_base.cpp.

89 {
90  auto new_image = std::make_unique<wxImage>();
91 
92  if( !new_image->LoadFile( aInStream ) )
93  {
94  return false;
95  }
96 
97  delete m_image;
98  m_image = new_image.release();
99  m_bitmap = new wxBitmap( *m_image );
100 
101  return true;
102 }
wxBitmap * m_bitmap
Definition: bitmap_base.h:57
wxImage * m_image
Definition: bitmap_base.h:56

References m_bitmap, and m_image.

◆ RebuildBitmap()

void BITMAP_BASE::RebuildBitmap ( )
inline

Definition at line 100 of file bitmap_base.h.

100 { *m_bitmap = wxBitmap( *m_image ); }
wxBitmap * m_bitmap
Definition: bitmap_base.h:57
wxImage * m_image
Definition: bitmap_base.h:56

References m_bitmap, and m_image.

Referenced by Mirror(), DIALOG_IMAGE_EDITOR::OnGreyScaleConvert(), and Rotate().

◆ Rotate()

void BITMAP_BASE::Rotate ( bool  aRotateCCW)

Function Rotate Rotate image CW or CCW.

Parameters
aRotateCCW= true to rotate CCW

Definition at line 301 of file bitmap_base.cpp.

302 {
303  if( m_image )
304  {
305  *m_image = m_image->Rotate90( aRotateCCW );
306  RebuildBitmap();
307  }
308 }
void RebuildBitmap()
Definition: bitmap_base.h:100
wxImage * m_image
Definition: bitmap_base.h:56

References m_image, and RebuildBitmap().

Referenced by SCH_BITMAP::Rotate().

◆ SaveData() [1/2]

bool BITMAP_BASE::SaveData ( FILE *  aFile) const

writes the bitmap data to aFile The format is png, in Hexadecimal form: If the hexadecimal data is converted to binary it gives exactly a .png image data

Parameters
aFileThe FILE to write to.
Returns
bool - true if success writing else false.

Definition at line 123 of file bitmap_base.cpp.

124 {
125  if( m_image )
126  {
127  wxMemoryOutputStream stream;
128  m_image->SaveFile( stream, wxBITMAP_TYPE_PNG );
129 
130  // Write binary data in hexadecimal form (ASCII)
131  wxStreamBuffer* buffer = stream.GetOutputStreamBuffer();
132  char* begin = (char*) buffer->GetBufferStart();
133 
134  for( int ii = 0; begin < buffer->GetBufferEnd(); begin++, ii++ )
135  {
136  if( ii >= 32 )
137  {
138  ii = 0;
139 
140  if( fprintf( aFile, "\n" ) == EOF )
141  return false;
142  }
143 
144  if( fprintf( aFile, "%2.2X ", *begin & 0xFF ) == EOF )
145  return false;
146  }
147  }
148 
149  return true;
150 }
wxImage * m_image
Definition: bitmap_base.h:56

References m_image.

Referenced by WS_DATA_MODEL_IO::format().

◆ SaveData() [2/2]

void BITMAP_BASE::SaveData ( wxArrayString &  aPngStrings) const

writes the bitmap data to an array string The format is png, in Hexadecimal form: If the hexadecimal data is converted to binary it gives exactly a .png image data

Parameters
aPngStringsThe wxArrayString to write to.

Definition at line 153 of file bitmap_base.cpp.

154 {
155  if( m_image )
156  {
157  wxMemoryOutputStream stream;
158  m_image->SaveFile( stream, wxBITMAP_TYPE_PNG );
159 
160  // Write binary data in hexadecimal form (ASCII)
161  wxStreamBuffer* buffer = stream.GetOutputStreamBuffer();
162  char* begin = (char*) buffer->GetBufferStart();
163  wxString line;
164 
165  for( int ii = 0; begin < buffer->GetBufferEnd(); begin++, ii++ )
166  {
167  if( ii >= 32 )
168  {
169  ii = 0;
170  aPngStrings.Add( line );
171  line.Empty();
172  }
173 
174  line << wxString::Format( wxT( "%2.2X " ), *begin & 0xFF );
175  }
176 
177  // Add last line:
178  if( !line.IsEmpty() )
179  aPngStrings.Add( line );
180  }
181 }
void Format(OUTPUTFORMATTER *out, int aNestLevel, int aCtl, CPTREE &aTree)
Function Format outputs a PTREE into s-expression format via an OUTPUTFORMATTER derivative.
Definition: ptree.cpp:205
wxImage * m_image
Definition: bitmap_base.h:56

References Format(), and m_image.

◆ SetBitmap()

void BITMAP_BASE::SetBitmap ( wxBitmap *  aBitMap)
inline

Definition at line 102 of file bitmap_base.h.

103  {
104  delete m_bitmap;
105  m_bitmap = aBitMap;
106  }
wxBitmap * m_bitmap
Definition: bitmap_base.h:57

References m_bitmap.

◆ SetImage()

void BITMAP_BASE::SetImage ( wxImage *  aImage)
inline

Definition at line 86 of file bitmap_base.h.

87  {
88  delete m_image;
89  m_image = aImage;
90  }
wxImage * m_image
Definition: bitmap_base.h:56

References m_image.

◆ SetPixelScaleFactor()

void BITMAP_BASE::SetPixelScaleFactor ( double  aSF)
inline

Definition at line 81 of file bitmap_base.h.

81 { m_pixelScaleFactor = aSF; }
double m_pixelScaleFactor
Definition: bitmap_base.h:58

References m_pixelScaleFactor.

◆ SetScale()

void BITMAP_BASE::SetScale ( double  aScale)
inline

Member Data Documentation

◆ m_bitmap

wxBitmap* BITMAP_BASE::m_bitmap
private

◆ m_image

◆ m_pixelScaleFactor

double BITMAP_BASE::m_pixelScaleFactor
private

◆ m_ppi

int BITMAP_BASE::m_ppi
private

Definition at line 62 of file bitmap_base.h.

Referenced by BITMAP_BASE(), GetPPI(), and ImportData().

◆ m_scale

double BITMAP_BASE::m_scale
private

Definition at line 54 of file bitmap_base.h.

Referenced by BITMAP_BASE(), GetScale(), GetScalingFactor(), ImportData(), and SetScale().


The documentation for this class was generated from the following files: