wxWidgets/include/wx/motif/bmpmotif.h
Mattia Barbon aae91497f6 Removed some old cruft from wxBitmap, moved wxMotif- and
wxControl-specific functionality (GetXXXPixmap) into a separate
class, and fixed the implementation. Adapted wxStaticBitmap,
wxBitmapButton and wxToolBar to the new situation.
  Various fixes to wxToolBar: Realize does not create buttons
multiple times anymore, use the disabled bitmap as the disabled
bitmap, not as the toggled bitmap for toggle buttons (!),
reposition buttons/controls when a tool is removed/deleted.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19836 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-27 19:40:32 +00:00

60 lines
1.4 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: bmpmotif.h
// Purpose: Motif-specific bitmap routines
// Author: Julian Smart, originally in bitmap.h
// Modified by:
// Created: 25/03/2003
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_BMPMOTIF_H_
#define _WX_BMPMOTIF_H_
#ifdef __GNUG__
#pragma interface "bmpmotif.h"
#endif
#include "wx/defs.h"
#include "wx/bitmap.h"
class WXDLLEXPORT wxBitmapCache
{
public:
wxBitmapCache()
{
m_labelPixmap = (WXPixmap)NULL;
m_armPixmap = (WXPixmap)NULL;
m_insensPixmap = (WXPixmap)NULL;
m_image = (WXImage)NULL;
m_display = (WXDisplay*)NULL;
SetColoursChanged();
}
~wxBitmapCache();
void SetColoursChanged();
void SetBitmap( const wxBitmap& bitmap );
WXPixmap GetLabelPixmap( WXWidget w );
WXPixmap GetInsensPixmap( WXWidget w = (WXWidget)NULL );
WXPixmap GetArmPixmap( WXWidget w );
private:
void InvalidateCache();
void CreateImageIfNeeded( WXWidget w );
struct
{
bool label : 1;
bool arm : 1;
bool insens : 1;
} m_recalcPixmaps;
wxBitmap m_bitmap;
WXDisplay* m_display;
WXPixmap m_labelPixmap, m_armPixmap, m_insensPixmap;
WXImage m_image;
};
#endif // _WX_BMPMOTIF_H_