#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);
(DFBSurfaceTextFlags)flags));
}
- bool Flip(const DFBRegion *region, int flags)
- {
- return Check(m_ptr->Flip(m_ptr, region, (DFBSurfaceFlipFlags)flags));
- }
+ /**
+ Updates the front buffer from the back buffer. If @a region is not
+ NULL, only given rectangle is updated.
+ */
+ bool FlipToFront(const DFBRegion *region = NULL);
wxIDirectFBSurfacePtr GetSubSurface(const DFBRectangle *rect)
{
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 Flip(const DFBRegion *region, int flags);
};
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)); }