1/////////////////////////////////////////////////////////////////////////////
2// Name:        src/palmos/bmpbuttn.cpp
3// Purpose:     wxBitmapButton
4// Author:      William Osborne - minimal working wxPalmOS port
5// Modified by:
6// Created:     10/13/04
7// RCS-ID:      $Id: bmpbuttn.cpp 39354 2006-05-26 18:47:45Z ABX $
8// Copyright:   (c) William Osborne
9// Licence:     wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12// For compilers that support precompilation, includes "wx.h".
13#include "wx/wxprec.h"
14
15#ifdef __BORLANDC__
16    #pragma hdrstop
17#endif
18
19#if wxUSE_BMPBUTTON
20
21#include "wx/bmpbuttn.h"
22
23#ifndef WX_PRECOMP
24    #include "wx/log.h"
25    #include "wx/dcmemory.h"
26#endif
27
28#include "wx/palmos/private.h"
29
30// ----------------------------------------------------------------------------
31// macros
32// ----------------------------------------------------------------------------
33
34#if wxUSE_EXTENDED_RTTI
35
36WX_DEFINE_FLAGS( wxBitmapButtonStyle )
37
38wxBEGIN_FLAGS( wxBitmapButtonStyle )
39    // new style border flags, we put them first to
40    // use them for streaming out
41    wxFLAGS_MEMBER(wxBORDER_SIMPLE)
42    wxFLAGS_MEMBER(wxBORDER_SUNKEN)
43    wxFLAGS_MEMBER(wxBORDER_DOUBLE)
44    wxFLAGS_MEMBER(wxBORDER_RAISED)
45    wxFLAGS_MEMBER(wxBORDER_STATIC)
46    wxFLAGS_MEMBER(wxBORDER_NONE)
47
48    // old style border flags
49    wxFLAGS_MEMBER(wxSIMPLE_BORDER)
50    wxFLAGS_MEMBER(wxSUNKEN_BORDER)
51    wxFLAGS_MEMBER(wxDOUBLE_BORDER)
52    wxFLAGS_MEMBER(wxRAISED_BORDER)
53    wxFLAGS_MEMBER(wxSTATIC_BORDER)
54    wxFLAGS_MEMBER(wxBORDER)
55
56    // standard window styles
57    wxFLAGS_MEMBER(wxTAB_TRAVERSAL)
58    wxFLAGS_MEMBER(wxCLIP_CHILDREN)
59    wxFLAGS_MEMBER(wxTRANSPARENT_WINDOW)
60    wxFLAGS_MEMBER(wxWANTS_CHARS)
61    wxFLAGS_MEMBER(wxFULL_REPAINT_ON_RESIZE)
62    wxFLAGS_MEMBER(wxALWAYS_SHOW_SB )
63    wxFLAGS_MEMBER(wxVSCROLL)
64    wxFLAGS_MEMBER(wxHSCROLL)
65
66    wxFLAGS_MEMBER(wxBU_AUTODRAW)
67    wxFLAGS_MEMBER(wxBU_LEFT)
68    wxFLAGS_MEMBER(wxBU_RIGHT)
69    wxFLAGS_MEMBER(wxBU_TOP)
70    wxFLAGS_MEMBER(wxBU_BOTTOM)
71wxEND_FLAGS( wxBitmapButtonStyle )
72
73IMPLEMENT_DYNAMIC_CLASS_XTI(wxBitmapButton, wxButton,"wx/bmpbuttn.h")
74
75wxBEGIN_PROPERTIES_TABLE(wxBitmapButton)
76    wxPROPERTY_FLAGS( WindowStyle , wxBitmapButtonStyle , long , SetWindowStyleFlag , GetWindowStyleFlag , EMPTY_MACROVALUE, 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style
77wxEND_PROPERTIES_TABLE()
78
79wxBEGIN_HANDLERS_TABLE(wxBitmapButton)
80wxEND_HANDLERS_TABLE()
81
82wxCONSTRUCTOR_5( wxBitmapButton , wxWindow* , Parent , wxWindowID , Id , wxBitmap , Bitmap , wxPoint , Position , wxSize , Size )
83
84#else
85IMPLEMENT_DYNAMIC_CLASS(wxBitmapButton, wxButton)
86#endif
87
88#define BUTTON_HEIGHT_FACTOR (EDIT_CONTROL_FACTOR * 1.1)
89
90bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id,
91    const wxBitmap& bitmap,
92    const wxPoint& pos,
93    const wxSize& size, long style,
94    const wxValidator& wxVALIDATOR_PARAM(validator),
95    const wxString& name)
96{
97    return false;
98}
99
100#define FOCUS_MARGIN 3
101
102void wxBitmapButton::DrawFace( WXHDC dc, int left, int top,
103    int right, int bottom, bool sel )
104{
105}
106
107void wxBitmapButton::DrawButtonFocus( WXHDC dc, int left, int top, int right,
108    int bottom, bool WXUNUSED(sel) )
109{
110}
111
112void wxBitmapButton::DrawButtonDisable( WXHDC dc, int left, int top, int right,
113    int bottom, bool with_marg )
114{
115}
116
117void wxBitmapButton::SetDefault()
118{
119}
120
121wxSize wxBitmapButton::DoGetBestSize() const
122{
123    wxSize best;
124    best.x = 0;
125    best.y = 0;
126
127    return best;
128}
129
130#endif // wxUSE_BMPBUTTON
131