git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31557 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
116 lines
3.0 KiB
C++
116 lines
3.0 KiB
C++
///////////////////////////////////////////////////////////////////////////////
|
|
// Name: src/palmos/ownerdrw.cpp
|
|
// Purpose: implementation of wxOwnerDrawn class
|
|
// Author: William Osborne - minimal working wxPalmOS port
|
|
// Modified by:
|
|
// Created: 10/13/04
|
|
// RCS-ID: $Id$
|
|
// Copyright: (c) William Osborne
|
|
// Licence: wxWindows licence
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
|
|
#pragma implementation
|
|
#endif
|
|
|
|
// For compilers that support precompilation, includes "wx.h".
|
|
#include "wx/wxprec.h"
|
|
|
|
#ifdef __BORLANDC__
|
|
#pragma hdrstop
|
|
#endif
|
|
|
|
#ifndef WX_PRECOMP
|
|
#include "wx/window.h"
|
|
#include "wx/font.h"
|
|
#include "wx/bitmap.h"
|
|
#include "wx/dcmemory.h"
|
|
#include "wx/menu.h"
|
|
#include "wx/utils.h"
|
|
#endif
|
|
|
|
#include "wx/settings.h"
|
|
#include "wx/ownerdrw.h"
|
|
#include "wx/menuitem.h"
|
|
#include "wx/fontutil.h"
|
|
#include "wx/module.h"
|
|
|
|
#if wxUSE_OWNER_DRAWN
|
|
|
|
class wxMSWSystemMenuFontModule : public wxModule
|
|
{
|
|
public:
|
|
|
|
virtual bool OnInit()
|
|
{
|
|
ms_systemMenuFont = new wxFont;
|
|
return true;
|
|
}
|
|
|
|
virtual void OnExit()
|
|
{
|
|
delete ms_systemMenuFont;
|
|
ms_systemMenuFont = NULL;
|
|
}
|
|
|
|
static wxFont* ms_systemMenuFont;
|
|
static int ms_systemMenuButtonWidth; // windows clean install default
|
|
static int ms_systemMenuHeight; // windows clean install default
|
|
private:
|
|
DECLARE_DYNAMIC_CLASS(wxMSWSystemMenuFontModule)
|
|
};
|
|
|
|
// these static variables are by the wxMSWSystemMenuFontModule object
|
|
// and reflect the system settings returned by the Win32 API's
|
|
// SystemParametersInfo() call.
|
|
|
|
wxFont* wxMSWSystemMenuFontModule::ms_systemMenuFont = NULL;
|
|
int wxMSWSystemMenuFontModule::ms_systemMenuButtonWidth = 18; // windows clean install default
|
|
int wxMSWSystemMenuFontModule::ms_systemMenuHeight = 18; // windows clean install default
|
|
|
|
IMPLEMENT_DYNAMIC_CLASS(wxMSWSystemMenuFontModule, wxModule)
|
|
|
|
// ============================================================================
|
|
// implementation of wxOwnerDrawn class
|
|
// ============================================================================
|
|
|
|
// ctor
|
|
// ----
|
|
wxOwnerDrawn::wxOwnerDrawn(const wxString& str,
|
|
bool bCheckable, bool bMenuItem)
|
|
: m_strName(str)
|
|
{
|
|
}
|
|
|
|
|
|
// these items will be set during the first invocation of the c'tor,
|
|
// because the values will be determined by checking the system settings,
|
|
// which is a chunk of code
|
|
size_t wxOwnerDrawn::ms_nDefaultMarginWidth = 0;
|
|
size_t wxOwnerDrawn::ms_nLastMarginWidth = 0;
|
|
|
|
|
|
// drawing
|
|
// -------
|
|
|
|
// get size of the item
|
|
// The item size includes the menu string, the accel string,
|
|
// the bitmap and size for a submenu expansion arrow...
|
|
bool wxOwnerDrawn::OnMeasureItem(size_t *pwidth, size_t *pheight)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
// draw the item
|
|
bool wxOwnerDrawn::OnDrawItem(wxDC& dc,
|
|
const wxRect& rc,
|
|
wxODAction act,
|
|
wxODStatus st)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
|
|
#endif // wxUSE_OWNER_DRAWN
|
|
|