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 GetPixelSizeIu () const
 
void SetPixelSizeIu (double aPixSize)
 
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)
 Copy aItem image to this object and update m_bitmap. More...
 
double GetScalingFactor () const
 This scaling factor depends on m_pixelSizeIu and m_scale. More...
 
wxSize GetSize () const
 
wxSize GetSizePixels () const
 
int GetPPI () const
 
const EDA_RECT GetBoundingBox () const
 Return 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
 Write the bitmap data to aFile. More...
 
void SaveData (wxArrayString &aPngStrings) const
 Write the bitmap data to an array string. More...
 
bool LoadData (LINE_READER &aLine, wxString &aErrorMsg)
 Load an image data saved by SaveData. More...
 
void Mirror (bool aVertically)
 Mirror image vertically (i.e. More...
 
void Rotate (bool aRotateCCW)
 Rotate image CW or CCW. More...
 
void PlotImage (PLOTTER *aPlotter, const wxPoint &aPos, const KIGFX::COLOR4D &aDefaultColor, int aDefaultPensize) const
 Plot bitmap on plotter. More...
 

Private Attributes

double m_scale
 
wxImage * m_image
 
wxBitmap * m_bitmap
 
double m_pixelSizeIu
 
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, DS_DRAW_ITEM_BITMAP, and possibly others in the future.

Warning
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 40 of file bitmap_base.cpp.

41 {
42  m_scale = 1.0; // 1.0 = original bitmap size
43  m_bitmap = nullptr;
44  m_image = nullptr;
45  m_ppi = 300; // the bitmap definition. the default is 300PPI
46  m_pixelSizeIu = 254000.0 / m_ppi; // a pixel size value OK for bitmaps using 300 PPI
47  // for Eeschema which uses currently 254000PPI
48 }
double m_scale
Definition: bitmap_base.h:237
wxBitmap * m_bitmap
Definition: bitmap_base.h:240
double m_pixelSizeIu
Definition: bitmap_base.h:241
wxImage * m_image
Definition: bitmap_base.h:239

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

◆ BITMAP_BASE() [2/2]

BITMAP_BASE::BITMAP_BASE ( const BITMAP_BASE aSchBitmap)

Definition at line 51 of file bitmap_base.cpp.

52 {
53  m_scale = aSchBitmap.m_scale;
54  m_ppi = aSchBitmap.m_ppi;
55  m_pixelSizeIu = aSchBitmap.m_pixelSizeIu;
56 
57  m_image = nullptr;
58  m_bitmap = nullptr;
59 
60  if( aSchBitmap.m_image )
61  {
62  m_image = new wxImage( *aSchBitmap.m_image );
63  m_bitmap = new wxBitmap( *m_image );
64  }
65 }
double m_scale
Definition: bitmap_base.h:237
wxBitmap * m_bitmap
Definition: bitmap_base.h:240
double m_pixelSizeIu
Definition: bitmap_base.h:241
wxImage * m_image
Definition: bitmap_base.h:239

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

◆ ~BITMAP_BASE()

BITMAP_BASE::~BITMAP_BASE ( )
inline

Definition at line 58 of file bitmap_base.h.

59  {
60  delete m_bitmap;
61  delete m_image;
62  }
wxBitmap * m_bitmap
Definition: bitmap_base.h:240
wxImage * m_image
Definition: bitmap_base.h:239

References m_bitmap, and m_image.

Member Function Documentation

◆ DrawBitmap()

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

Definition at line 232 of file bitmap_base.cpp.

233 {
234  if( m_bitmap == nullptr )
235  return;
236 
237  wxPoint pos = aPos;
238  wxSize size = GetSize();
239 
240  // This fixes a bug in OSX that should be fixed in the 3.0.3 version or later.
241  if( ( size.x == 0 ) || ( size.y == 0 ) )
242  return;
243 
244  // To draw the bitmap, pos is the upper left corner position
245  pos.x -= size.x / 2;
246  pos.y -= size.y / 2;
247 
248  double scale;
249  int logicalOriginX, logicalOriginY;
250  aDC->GetUserScale( &scale, &scale );
251  aDC->GetLogicalOrigin( &logicalOriginX, &logicalOriginY );
252 
253  bool useTransform = aDC->CanUseTransformMatrix();
254  wxAffineMatrix2D init_matrix = aDC->GetTransformMatrix();
255 
256  if( useTransform )
257  {
258  wxAffineMatrix2D matrix = aDC->GetTransformMatrix();
259  matrix.Translate( pos.x, pos.y );
260  matrix.Scale( GetScalingFactor(), GetScalingFactor() );
261  aDC->SetTransformMatrix( matrix );
262  pos.x = pos.y = 0;
263  }
264  else
265  {
266  aDC->SetUserScale( scale * GetScalingFactor(), scale * GetScalingFactor() );
267  aDC->SetLogicalOrigin( logicalOriginX / GetScalingFactor(),
268  logicalOriginY / GetScalingFactor() );
269 
270  pos.x = KiROUND( pos.x / GetScalingFactor() );
271  pos.y = KiROUND( pos.y / GetScalingFactor() );
272  }
273 
275  {
276  wxBitmap result( m_bitmap->ConvertToImage().ConvertToGreyscale() );
277  aDC->DrawBitmap( result, pos.x, pos.y, true );
278  }
279  else
280  {
281  aDC->DrawBitmap( *m_bitmap, pos.x, pos.y, true );
282  }
283 
284  if( useTransform )
285  aDC->SetTransformMatrix( init_matrix );
286  else
287  {
288  aDC->SetUserScale( scale, scale );
289  aDC->SetLogicalOrigin( logicalOriginX, logicalOriginY );
290  }
291 }
double GetScalingFactor() const
This scaling factor depends on m_pixelSizeIu and m_scale.
Definition: bitmap_base.h:111
wxSize GetSize() const
wxBitmap * m_bitmap
Definition: bitmap_base.h:240
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: util.h:73
bool GetGRForceBlackPenState(void)
Definition: gr_basic.cpp:196

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

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

◆ GetBoundingBox()

const EDA_RECT BITMAP_BASE::GetBoundingBox ( ) const

Return 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 220 of file bitmap_base.cpp.

221 {
222  EDA_RECT rect;
223 
224  wxSize size = GetSize();
225 
226  rect.Inflate( size.x / 2, size.y / 2 );
227 
228  return rect;
229 }
wxSize GetSize() const
Handle the component boundary box.
Definition: eda_rect.h:42
EDA_RECT & Inflate(wxCoord dx, wxCoord dy)
Inflate the rectangle horizontally by dx and vertically by dy.
Definition: eda_rect.cpp:364

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

Referenced by BOOST_AUTO_TEST_CASE(), and SCH_BITMAP::GetBoundingBox().

◆ GetImageData() [1/2]

◆ GetImageData() [2/2]

const wxImage* BITMAP_BASE::GetImageData ( ) const
inline

Definition at line 71 of file bitmap_base.h.

71 { return m_image; }
wxImage * m_image
Definition: bitmap_base.h:239

References m_image.

◆ GetPixelSizeIu()

double BITMAP_BASE::GetPixelSizeIu ( ) const
inline

Definition at line 67 of file bitmap_base.h.

67 { return m_pixelSizeIu; }
double m_pixelSizeIu
Definition: bitmap_base.h:241

References m_pixelSizeIu.

Referenced by BOOST_AUTO_TEST_CASE().

◆ GetPPI()

int BITMAP_BASE::GetPPI ( ) const
inline

◆ GetScale()

◆ GetScalingFactor()

double BITMAP_BASE::GetScalingFactor ( ) const
inline

This scaling factor depends on m_pixelSizeIu and m_scale.

m_pixelSizeIu gives the scaling factor between a pixel size and the internal units. m_scale is an user dependent 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.
Returns
The scaling factor from pixel size to actual draw size.

Definition at line 111 of file bitmap_base.h.

112  {
113  return m_pixelSizeIu * m_scale;
114  }
double m_scale
Definition: bitmap_base.h:237
double m_pixelSizeIu
Definition: bitmap_base.h:241

References m_pixelSizeIu, and m_scale.

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

◆ GetSize()

wxSize BITMAP_BASE::GetSize ( ) const
Returns
the actual size (in user units, not in pixels) of the image

Definition at line 294 of file bitmap_base.cpp.

295 {
296  wxSize size;
297 
298  if( m_bitmap )
299  {
300  size.x = m_bitmap->GetWidth();
301  size.y = m_bitmap->GetHeight();
302 
303  size.x = KiROUND( size.x * GetScalingFactor() );
304  size.y = KiROUND( size.y * GetScalingFactor() );
305  }
306 
307  return size;
308 }
double GetScalingFactor() const
This scaling factor depends on m_pixelSizeIu and m_scale.
Definition: bitmap_base.h:111
wxBitmap * m_bitmap
Definition: bitmap_base.h:240
constexpr ret_type KiROUND(fp_type v)
Round a floating point number to an integer using "round halfway cases away from zero".
Definition: util.h:73

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

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

◆ GetSizePixels()

wxSize BITMAP_BASE::GetSizePixels ( ) const
inline
Returns
the size in pixels of the image

Definition at line 124 of file bitmap_base.h.

125  {
126  if( m_image )
127  return wxSize( m_image->GetWidth(), m_image->GetHeight() );
128  else
129  return wxSize( 0, 0 );
130  }
wxImage * m_image
Definition: bitmap_base.h:239

References m_image.

Referenced by BOOST_AUTO_TEST_CASE(), 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)

Copy aItem image to this object and update m_bitmap.

Definition at line 68 of file bitmap_base.cpp.

69 {
70  *m_image = *aItem->m_image;
71  *m_bitmap = *aItem->m_bitmap;
72  m_scale = aItem->m_scale;
73  m_ppi = aItem->m_ppi;
75 }
double m_scale
Definition: bitmap_base.h:237
wxBitmap * m_bitmap
Definition: bitmap_base.h:240
double m_pixelSizeIu
Definition: bitmap_base.h:241
wxImage * m_image
Definition: bitmap_base.h:239

References m_bitmap, m_image, m_pixelSizeIu, 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.

The file format must be png format in hexadecimal.

Parameters
aLinethe LINE_READER used to read the data file.
aErrorMsgDescription of the error if an error occurs while loading the png bitmap data.
Returns
true if the bitmap loaded successfully.

Definition at line 174 of file bitmap_base.cpp.

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

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

Referenced by DRAWING_SHEET_PARSER::readPngdata().

◆ Mirror()

void BITMAP_BASE::Mirror ( bool  aVertically)

Mirror image vertically (i.e.

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

Parameters
aVerticallyfalse to mirror horizontally or true to mirror vertically.

Definition at line 311 of file bitmap_base.cpp.

312 {
313  if( m_image )
314  {
315  *m_image = m_image->Mirror( not aVertically );
316  RebuildBitmap();
317  }
318 }
void RebuildBitmap()
Definition: bitmap_base.h:87
wxImage * m_image
Definition: bitmap_base.h:239

References m_image, and RebuildBitmap().

Referenced by SCH_BITMAP::MirrorHorizontally(), and SCH_BITMAP::MirrorVertically().

◆ PlotImage()

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

Plot bitmap on plotter.

If the plotter does not support bitmaps, plot a

Parameters
aPlotterthe plotter to use.
aPosthe position of the center of the bitmap.
aDefaultColorthe color used to plot the rectangle when bitmap is not supported.
aDefaultPensizethe pen size used to plot the rectangle when bitmap is not supported.

Definition at line 331 of file bitmap_base.cpp.

335 {
336  if( m_image == nullptr )
337  return;
338 
339  // These 2 lines are useful only for plotters that cannot plot a bitmap
340  // and plot a rectangle instead of.
341  aPlotter->SetColor( aDefaultColor );
342  aPlotter->SetCurrentLineWidth( aDefaultPensize );
343  aPlotter->PlotImage( *m_image, aPos, GetScalingFactor() );
344 }
double GetScalingFactor() const
This scaling factor depends on m_pixelSizeIu and m_scale.
Definition: bitmap_base.h:111
virtual void SetColor(const COLOR4D &color)=0
virtual void PlotImage(const wxImage &aImage, const wxPoint &aPos, double aScaleFactor)
Only PostScript plotters can plot bitmaps.
Definition: plotter.cpp:239
virtual void SetCurrentLineWidth(int width, void *aData=nullptr)=0
Set the line width for the next drawing.
wxImage * m_image
Definition: bitmap_base.h:239

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

Referenced by SCH_BITMAP::Plot(), and PlotDrawingSheet().

◆ ReadImageFile() [1/2]

bool BITMAP_BASE::ReadImageFile ( const wxString &  aFullFilename)

Reads and stores in memory an image file.

Initialize 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
true if success reading else false.

Definition at line 95 of file bitmap_base.cpp.

96 {
97  wxImage* new_image = new wxImage();
98 
99  if( !new_image->LoadFile( aFullFilename ) )
100  {
101  delete new_image;
102  return false;
103  }
104 
105  delete m_image;
106  m_image = new_image;
107  m_bitmap = new wxBitmap( *m_image );
108 
109  return true;
110 }
wxBitmap * m_bitmap
Definition: bitmap_base.h:240
wxImage * m_image
Definition: bitmap_base.h:239

References m_bitmap, and m_image.

Referenced by SCH_BITMAP::ReadImageFile(), and TEST_BITMAP_BASE_FIXTURE::TEST_BITMAP_BASE_FIXTURE().

◆ ReadImageFile() [2/2]

bool BITMAP_BASE::ReadImageFile ( wxInputStream &  aInStream)

Reads and stores in memory an image file.

Initialize 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
true if success reading else false.

Definition at line 78 of file bitmap_base.cpp.

79 {
80  auto new_image = std::make_unique<wxImage>();
81 
82  if( !new_image->LoadFile( aInStream ) )
83  {
84  return false;
85  }
86 
87  delete m_image;
88  m_image = new_image.release();
89  m_bitmap = new wxBitmap( *m_image );
90 
91  return true;
92 }
wxBitmap * m_bitmap
Definition: bitmap_base.h:240
wxImage * m_image
Definition: bitmap_base.h:239

References m_bitmap, and m_image.

◆ RebuildBitmap()

void BITMAP_BASE::RebuildBitmap ( )
inline

Definition at line 87 of file bitmap_base.h.

87 { *m_bitmap = wxBitmap( *m_image ); }
wxBitmap * m_bitmap
Definition: bitmap_base.h:240
wxImage * m_image
Definition: bitmap_base.h:239

References m_bitmap, and m_image.

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

◆ Rotate()

void BITMAP_BASE::Rotate ( bool  aRotateCCW)

Rotate image CW or CCW.

Parameters
aRotateCCWtrue to rotate CCW or false to rotate CW.

Definition at line 321 of file bitmap_base.cpp.

322 {
323  if( m_image )
324  {
325  *m_image = m_image->Rotate90( aRotateCCW );
326  RebuildBitmap();
327  }
328 }
void RebuildBitmap()
Definition: bitmap_base.h:87
wxImage * m_image
Definition: bitmap_base.h:239

References m_image, and RebuildBitmap().

Referenced by SCH_BITMAP::Rotate().

◆ SaveData() [1/2]

bool BITMAP_BASE::SaveData ( FILE *  aFile) const

Write the bitmap data to aFile.

The file 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
true if success writing else false.

Definition at line 113 of file bitmap_base.cpp.

114 {
115  if( m_image )
116  {
117  wxMemoryOutputStream stream;
118  m_image->SaveFile( stream, wxBITMAP_TYPE_PNG );
119 
120  // Write binary data in hexadecimal form (ASCII)
121  wxStreamBuffer* buffer = stream.GetOutputStreamBuffer();
122  char* begin = (char*) buffer->GetBufferStart();
123 
124  for( int ii = 0; begin < buffer->GetBufferEnd(); begin++, ii++ )
125  {
126  if( ii >= 32 )
127  {
128  ii = 0;
129 
130  if( fprintf( aFile, "\n" ) == EOF )
131  return false;
132  }
133 
134  if( fprintf( aFile, "%2.2X ", *begin & 0xFF ) == EOF )
135  return false;
136  }
137  }
138 
139  return true;
140 }
wxImage * m_image
Definition: bitmap_base.h:239

References m_image.

Referenced by DS_DATA_MODEL_IO::format().

◆ SaveData() [2/2]

void BITMAP_BASE::SaveData ( wxArrayString &  aPngStrings) const

Write 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 143 of file bitmap_base.cpp.

144 {
145  if( m_image )
146  {
147  wxMemoryOutputStream stream;
148  m_image->SaveFile( stream, wxBITMAP_TYPE_PNG );
149 
150  // Write binary data in hexadecimal form (ASCII)
151  wxStreamBuffer* buffer = stream.GetOutputStreamBuffer();
152  char* begin = (char*) buffer->GetBufferStart();
153  wxString line;
154 
155  for( int ii = 0; begin < buffer->GetBufferEnd(); begin++, ii++ )
156  {
157  if( ii >= 32 )
158  {
159  ii = 0;
160  aPngStrings.Add( line );
161  line.Empty();
162  }
163 
164  line << wxString::Format( wxT( "%2.2X " ), *begin & 0xFF );
165  }
166 
167  // Add last line:
168  if( !line.IsEmpty() )
169  aPngStrings.Add( line );
170  }
171 }
void Format(OUTPUTFORMATTER *out, int aNestLevel, int aCtl, const CPTREE &aTree)
Output a PTREE into s-expression format via an OUTPUTFORMATTER derivative.
Definition: ptree.cpp:200
wxImage * m_image
Definition: bitmap_base.h:239

References Format(), and m_image.

◆ SetBitmap()

void BITMAP_BASE::SetBitmap ( wxBitmap *  aBitMap)
inline

Definition at line 89 of file bitmap_base.h.

90  {
91  delete m_bitmap;
92  m_bitmap = aBitMap;
93  }
wxBitmap * m_bitmap
Definition: bitmap_base.h:240

References m_bitmap.

◆ SetImage()

void BITMAP_BASE::SetImage ( wxImage *  aImage)
inline

Definition at line 73 of file bitmap_base.h.

74  {
75  delete m_image;
76  m_image = aImage;
77  }
wxImage * m_image
Definition: bitmap_base.h:239

References m_image.

◆ SetPixelSizeIu()

void BITMAP_BASE::SetPixelSizeIu ( double  aPixSize)
inline

◆ SetScale()

void BITMAP_BASE::SetScale ( double  aScale)
inline

Member Data Documentation

◆ m_bitmap

wxBitmap* BITMAP_BASE::m_bitmap
private

◆ m_image

◆ m_pixelSizeIu

double BITMAP_BASE::m_pixelSizeIu
private

◆ m_ppi

int BITMAP_BASE::m_ppi
private

Definition at line 245 of file bitmap_base.h.

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

◆ m_scale

double BITMAP_BASE::m_scale
private

Definition at line 237 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: