wxWidgets/include/wx/palmos/statbmp.h
Mart Raudsepp 63ec432bd7 Move constant strings to .rodata/.data.rel.ro ELF segment from .data by making them really const.
If any more exotic toolchain decides to not export these strings into the core library anymore, let me know. Try to
compile the notebook sample, for example.
TODO: Move strings not meant for wxCore out of wxCore to the appropriate library.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36891 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-16 14:59:55 +00:00

101 lines
2.8 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: wx/palmos/statbmp.h
// Purpose: wxStaticBitmap class for Palm OS
// Author: William Osborne - minimal working wxPalmOS port
// Modified by:
// Created: 10/13/04
// RCS-ID: $Id$
// Copyright: (c) William Osborne
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_STATBMP_H_
#define _WX_STATBMP_H_
#include "wx/control.h"
#include "wx/icon.h"
#include "wx/bitmap.h"
WXDLLEXPORT_DATA(extern const wxChar) wxStaticBitmapNameStr[];
// a control showing an icon or a bitmap
class WXDLLEXPORT wxStaticBitmap : public wxStaticBitmapBase
{
public:
wxStaticBitmap() { Init(); }
wxStaticBitmap(wxWindow *parent,
wxWindowID id,
const wxGDIImage& label,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = 0,
const wxString& name = wxStaticBitmapNameStr)
{
Init();
Create(parent, id, label, pos, size, style, name);
}
bool Create(wxWindow *parent,
wxWindowID id,
const wxGDIImage& label,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = 0,
const wxString& name = wxStaticBitmapNameStr);
virtual ~wxStaticBitmap() { Free(); }
virtual void SetIcon(const wxIcon& icon) { SetImage(&icon); }
virtual void SetBitmap(const wxBitmap& bitmap) { SetImage(&bitmap); }
// assert failure is provoked by an attempt to get an icon from bitmap or
// vice versa
wxIcon GetIcon() const
{
wxASSERT_MSG( m_isIcon, _T("no icon in this wxStaticBitmap") );
return *(wxIcon *)m_image;
}
wxBitmap GetBitmap() const
{
wxASSERT_MSG( !m_isIcon, _T("no bitmap in this wxStaticBitmap") );
return *(wxBitmap *)m_image;
}
// implementation only from now on
// -------------------------------
// implement base class virtuals
virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
protected:
virtual wxBorder GetDefaultBorder() const;
virtual wxSize DoGetBestSize() const;
virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
// ctor/dtor helpers
void Init() { m_isIcon = TRUE; m_image = NULL; }
void Free();
// TRUE if icon/bitmap is valid
bool ImageIsOk() const;
void SetImage(const wxGDIImage* image);
void SetImageNoCopy( wxGDIImage* image );
// we can have either an icon or a bitmap
bool m_isIcon;
wxGDIImage *m_image;
private:
DECLARE_DYNAMIC_CLASS(wxStaticBitmap)
DECLARE_NO_COPY_CLASS(wxStaticBitmap)
};
#endif
// _WX_STATBMP_H_