1 /////////////////////////////////////////////////////////////////////////////
2 // Name: src/dfb/utils.cpp
3 // Purpose: Miscellaneous utility functions and classes
4 // Author: Vaclav Slavik
7 // Copyright: (c) 2006 REA Elektronik GmbH
8 // Licence: wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
11 // For compilers that support precompilation, includes "wx.h".
12 #include "wx/wxprec.h"
19 #include "wx/apptrait.h"
20 #include "wx/unix/execute.h"
26 #include "wx/dfb/private.h"
27 #include <directfb_version.h>
29 // ----------------------------------------------------------------------------
31 // ----------------------------------------------------------------------------
33 wxPortId wxGUIAppTraits::GetToolkitVersion(int *verMaj, int *verMin) const
35 if ( verMaj ) *verMaj = DIRECTFB_MAJOR_VERSION;
36 if ( verMin ) *verMaj = DIRECTFB_MINOR_VERSION;
41 // ----------------------------------------------------------------------------
42 // display characteristics
43 // ----------------------------------------------------------------------------
45 bool wxColourDisplay()
47 #warning "FIXME: wxColourDisplay"
53 return wxTheApp->GetDisplayMode().bpp;
56 void wxDisplaySize(int *width, int *height)
58 wxVideoMode mode(wxTheApp->GetDisplayMode());
59 if ( width ) *width = mode.w;
60 if ( height ) *height = mode.h;
63 void wxDisplaySizeMM(int *width, int *height)
65 // FIXME: there's no way to get physical resolution using the DirectDB
66 // API, we hardcode a commonly used value of 72dpi
68 #define PX_TO_MM(x) (int(((x) / DPI) * inches2mm))
70 wxDisplaySize(width, height);
71 if ( width ) *width = PX_TO_MM(*width);
72 if ( height ) *height = PX_TO_MM(*height);
78 void wxClientDisplayRect(int *x, int *y, int *width, int *height)
80 // return desktop dimensions minus any panels, menus, trays:
83 wxDisplaySize(width, height);
87 //-----------------------------------------------------------------------------
89 //-----------------------------------------------------------------------------
91 void wxGetMousePosition(int *x, int *y)
93 wxIDirectFBDisplayLayerPtr layer(wxIDirectFB::Get()->GetDisplayLayer());
95 layer->GetCursorPosition(x, y);
98 wxPoint wxGetMousePosition()
101 wxGetMousePosition(&pt.x, &pt.y);
105 //-----------------------------------------------------------------------------
107 //-----------------------------------------------------------------------------
109 bool wxGetKeyState(wxKeyCode key)
111 wxASSERT_MSG(key != WXK_LBUTTON && key != WXK_RBUTTON && key != WXK_MBUTTON,
112 _T("can't use wxGetKeyState() for mouse buttons"));
114 return false; // FIXME
117 //----------------------------------------------------------------------------
119 //----------------------------------------------------------------------------
125 int wxAddProcessCallback(wxEndProcessData *proc_data, int fd)
127 wxFAIL_MSG( _T("wxAddProcessCallback not implemented") );