X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a5b31f4e11c860fa5d9949c8694a7499793c3b98..e22cf4b310aa1cac5f21879823aa26be4c804c24:/include/wx/dfb/wrapdfb.h?ds=inline diff --git a/include/wx/dfb/wrapdfb.h b/include/wx/dfb/wrapdfb.h index 30ef307513..9ce251c34d 100644 --- a/include/wx/dfb/wrapdfb.h +++ b/include/wx/dfb/wrapdfb.h @@ -17,6 +17,7 @@ wxDFB_DECLARE_INTERFACE(IDirectFB); wxDFB_DECLARE_INTERFACE(IDirectFBDisplayLayer); +wxDFB_DECLARE_INTERFACE(IDirectFBFont); wxDFB_DECLARE_INTERFACE(IDirectFBWindow); wxDFB_DECLARE_INTERFACE(IDirectFBSurface); wxDFB_DECLARE_INTERFACE(IDirectFBPalette); @@ -231,10 +232,11 @@ struct wxIDirectFBSurface : public wxDfbWrapper (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) { @@ -273,6 +275,14 @@ struct wxIDirectFBSurface : public wxDfbWrapper 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(); @@ -285,14 +295,27 @@ struct wxIDirectFBSurface : public wxDfbWrapper */ 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); }; @@ -384,6 +407,9 @@ struct wxIDirectFBWindow : public wxDfbWrapper bool RequestFocus() { return Check(m_ptr->RequestFocus(m_ptr)); } + + bool Destroy() + { return Check(m_ptr->Destroy(m_ptr)); } }; @@ -404,14 +430,10 @@ struct wxIDirectFBDisplayLayer : public wxDfbWrapper 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)); }