X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c5750ccb5f8092e23e353b3923d5a78af17e672f..cc77c86d1e71bae248f59f83904971d83e78c1a5:/src/mac/carbon/bitmap.cpp diff --git a/src/mac/carbon/bitmap.cpp b/src/mac/carbon/bitmap.cpp index c8b6ea5a43..08590d1006 100644 --- a/src/mac/carbon/bitmap.cpp +++ b/src/mac/carbon/bitmap.cpp @@ -59,7 +59,7 @@ void wxMacDestroyColorTable( CTabHandle colors ) void wxMacSetColorTableEntry( CTabHandle newColors , int index , int red , int green , int blue ) { (**newColors).ctTable[index].value = index; - (**newColors).ctTable[index].rgb.red = red ;// someRedValue; + (**newColors).ctTable[index].rgb.red = red ; // someRedValue; (**newColors).ctTable[index].rgb.green = green ; // someGreenValue; (**newColors).ctTable[index].rgb.blue = blue ; // someBlueValue; } @@ -218,20 +218,24 @@ CIconHandle wxMacCreateCIcon(GWorldPtr image , GWorldPtr mask , short dstDepth , if ( mask ) { + Rect r ; + GetPortBounds( image , &r ) ; LockPixels(GetGWorldPixMap(mask) ) ; CopyBits(GetPortBitMapForCopyBits(mask) , - &(**icon).iconBMap , &imageBounds , &imageBounds, srcCopy , nil ) ; + &(**icon).iconBMap , &r , &r, srcCopy , nil ) ; CopyBits(GetPortBitMapForCopyBits(mask) , - &(**icon).iconMask , &imageBounds , &imageBounds, srcCopy , nil ) ; + &(**icon).iconMask , &r , &r, srcCopy , nil ) ; UnlockPixels(GetGWorldPixMap( mask ) ) ; } else { + Rect r ; + GetPortBounds( image , &r ) ; LockPixels(GetGWorldPixMap(image)); CopyBits(GetPortBitMapForCopyBits(image) , - &(**icon).iconBMap , &imageBounds , &imageBounds, srcCopy , nil ) ; + &(**icon).iconBMap , &r , &r, srcCopy , nil ) ; CopyBits(GetPortBitMapForCopyBits(image) , - &(**icon).iconMask , &imageBounds , &imageBounds, srcCopy , nil ) ; + &(**icon).iconMask , &r , &r, srcCopy , nil ) ; UnlockPixels(GetGWorldPixMap(image)); } @@ -289,7 +293,7 @@ PicHandle wxMacCreatePict(GWorldPtr wp, GWorldPtr mask) return pict; } -void wxMacCreateBitmapButton( ControlButtonContentInfo*info , const wxBitmap& bitmap ) +void wxMacCreateBitmapButton( ControlButtonContentInfo*info , const wxBitmap& bitmap , bool forceColorIcon ) { memset( info , 0 , sizeof(ControlButtonContentInfo) ) ; if ( bitmap.Ok() ) @@ -305,11 +309,11 @@ void wxMacCreateBitmapButton( ControlButtonContentInfo*info , const wxBitmap& bi } else if ( bmap->m_bitmapType == kMacBitmapTypeGrafWorld ) { - if ( (bmap->m_width == bmap->m_height) && (bmap->m_width & 0x3 == 0) ) + if ( (forceColorIcon || bmap->m_width == bmap->m_height) && ((bmap->m_width & 0x3) == 0) ) { info->contentType = kControlContentCIconHandle ; if ( bitmap.GetMask() ) - { + { info->u.cIconHandle = wxMacCreateCIcon( MAC_WXHBITMAP(bmap->m_hBitmap) , MAC_WXHBITMAP(bitmap.GetMask()->GetMaskBitmap()) , 8 , bmap->m_width ) ; } @@ -341,13 +345,13 @@ void wxMacCreateBitmapButton( ControlButtonContentInfo*info , const wxBitmap& bi } wxBitmapRefData::wxBitmapRefData() + : m_width(0) + , m_height(0) + , m_depth(0) + , m_ok(FALSE) + , m_numColors(0) + , m_quality(0) { - m_ok = FALSE; - m_width = 0; - m_height = 0; - m_depth = 0; - m_quality = 0; - m_numColors = 0; m_bitmapMask = NULL; m_hBitmap = NULL ; m_hPict = NULL ; @@ -355,7 +359,7 @@ wxBitmapRefData::wxBitmapRefData() m_bitmapType = kMacBitmapTypeUnknownType ; } -// TODO move this do a public function of Bitmap Ref +// TODO move this to a public function of Bitmap Ref static void DisposeBitmapRefData(wxBitmapRefData *data) { switch (data->m_bitmapType) @@ -699,8 +703,6 @@ wxBitmap::wxBitmap(const wxImage& image, int depth) SetGWorld( (GWorldPtr) GetHBITMAP() , NULL ) ; // Render image - RGBColor colorRGB ; - register unsigned char* data = image.GetData(); char* destinationBase = GetPixBaseAddr( pixMap ); register unsigned char* destination = (unsigned char*) destinationBase ; @@ -1050,30 +1052,30 @@ WXHMETAFILE wxBitmap::GetPict() const */ wxMask::wxMask() + : m_maskBitmap(NULL) { - m_maskBitmap = 0; } // Construct a mask from a bitmap and a colour indicating // the transparent area wxMask::wxMask(const wxBitmap& bitmap, const wxColour& colour) + : m_maskBitmap(NULL) { - m_maskBitmap = 0; Create(bitmap, colour); } // Construct a mask from a bitmap and a palette index indicating // the transparent area wxMask::wxMask(const wxBitmap& bitmap, int paletteIndex) + : m_maskBitmap(NULL) { - m_maskBitmap = 0; Create(bitmap, paletteIndex); } // Construct a mask from a mono bitmap (copies the bitmap). wxMask::wxMask(const wxBitmap& bitmap) + : m_maskBitmap(NULL) { - m_maskBitmap = 0; Create(bitmap); } @@ -1121,8 +1123,8 @@ bool wxMask::Create(const wxBitmap& bitmap) // the transparent area bool wxMask::Create(const wxBitmap& bitmap, int paletteIndex) { -// TODO - wxCHECK_MSG( 0, false, wxT("Not implemented")); + // TODO + wxCHECK_MSG( 0, false, wxT("wxMask::Create not yet implemented")); return FALSE; } @@ -1205,6 +1207,10 @@ bool wxMask::PointMasked(int x, int y) * wxBitmapHandler */ +wxBitmapHandler::~wxBitmapHandler() +{ +} + bool wxBitmapHandler::Create(wxBitmap *bitmap, void *data, long type, int width, int height, int depth) { return FALSE;