#define _WX_DFB_WRAPDFB_H_
#include "wx/dfb/dfbptr.h"
+#include "wx/gdicmn.h"
+#include "wx/vidmode.h"
#include <directfb.h>
wxDFB_DECLARE_INTERFACE(IDirectFB);
wxDFB_DECLARE_INTERFACE(IDirectFBDisplayLayer);
+wxDFB_DECLARE_INTERFACE(IDirectFBFont);
wxDFB_DECLARE_INTERFACE(IDirectFBWindow);
wxDFB_DECLARE_INTERFACE(IDirectFBSurface);
wxDFB_DECLARE_INTERFACE(IDirectFBPalette);
int x, int y)
{ return Check(m_ptr->Blit(m_ptr, source, source_rect, x, y)); }
+ bool StretchBlit(const wxIDirectFBSurfacePtr& source,
+ const DFBRectangle *source_rect,
+ const DFBRectangle *dest_rect)
+ {
+ return Check(m_ptr->StretchBlit(m_ptr, source->GetRaw(),
+ source_rect, dest_rect));
+ }
+
/// Returns bit depth used by the surface or -1 on error
int GetDepth();
*/
wxIDirectFBSurfacePtr Clone();
+ /// Flags for CreateCompatible()
+ enum CreateCompatibleFlags
+ {
+ /// Don't create double-buffered surface
+ CreateCompatible_NoBackBuffer = 1
+ };
+
/**
Creates a surface compatible with this one, i.e. surface with the same
capabilities and pixel format, but with different and size.
- @param size Size of the surface to create. If wxDefaultSize, use the
- size of this surface.
+ @param size Size of the surface to create. If wxDefaultSize, use the
+ size of this surface.
+ @param flags Or-combination of CreateCompatibleFlags values
*/
- wxIDirectFBSurfacePtr CreateCompatible(const wxSize& size = wxDefaultSize);
+ wxIDirectFBSurfacePtr CreateCompatible(const wxSize& size = wxDefaultSize,
+ int flags = 0);
private:
// this is private because we want user code to use FlipToFront()
bool RequestFocus()
{ return Check(m_ptr->RequestFocus(m_ptr)); }
+
+ bool Destroy()
+ { return Check(m_ptr->Destroy(m_ptr)); }
};
return NULL;
}
- wxIDirectFBSurfacePtr GetSurface()
- {
- IDirectFBSurface *s;
- if ( Check(m_ptr->GetSurface(m_ptr, &s)) )
- return new wxIDirectFBSurface(s);
- else
- return NULL;
- }
+ bool GetConfiguration(DFBDisplayLayerConfig *config)
+ { return Check(m_ptr->GetConfiguration(m_ptr, config)); }
+
+ wxVideoMode GetVideoMode();
bool GetCursorPosition(int *x, int *y)
{ return Check(m_ptr->GetCursorPosition(m_ptr, x, y)); }