Crazy Eddie's GUI System  0.8.4
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
RendererModules/DirectFB/RenderTarget.h
1 /***********************************************************************
2  created: Tue Mar 10 2009
3  author: Paul D Turner (parts based on code by Keith Mok)
4 *************************************************************************/
5 /***************************************************************************
6  * Copyright (C) 2004 - 2009 Paul D Turner & The CEGUI Development Team
7  *
8  * Permission is hereby granted, free of charge, to any person obtaining
9  * a copy of this software and associated documentation files (the
10  * "Software"), to deal in the Software without restriction, including
11  * without limitation the rights to use, copy, modify, merge, publish,
12  * distribute, sublicense, and/or sell copies of the Software, and to
13  * permit persons to whom the Software is furnished to do so, subject to
14  * the following conditions:
15  *
16  * The above copyright notice and this permission notice shall be
17  * included in all copies or substantial portions of the Software.
18  *
19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22  * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
23  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
24  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25  * OTHER DEALINGS IN THE SOFTWARE.
26  ***************************************************************************/
27 #ifndef _CEGUIDirectFBRenderTarget_h_
28 #define _CEGUIDirectFBRenderTarget_h_
29 
30 #include "../../RenderTarget.h"
31 #include "../../Rect.h"
32 #include <directfb.h>
33 
34 // Start of CEGUI namespace section
35 namespace CEGUI
36 {
37 class DirectFBRenderer;
38 
41 {
42 public:
44  DirectFBRenderTarget(DirectFBRenderer& owner, IDirectFBSurface& target);
45 
46  // Implement RenderTarget interface
47  void draw(const GeometryBuffer& buffer);
48  void draw(const RenderQueue& queue);
49  void setArea(const Rectf& area);
50  const Rectf& getArea() const;
51  bool isImageryCache() const;
52  void activate();
53  void deactivate();
54  void unprojectPoint(const GeometryBuffer& buff,
55  const Vector2f& p_in, Vector2f& p_out) const;
56 
57 protected:
61  IDirectFBSurface& d_target;
64 };
65 
66 } // End of CEGUI namespace section
67 
68 #endif // end of guard _CEGUIDirectFBRenderTarget_h_
void activate()
Activate the render target and put it in a state ready to be drawn to.
IDirectFBSurface & d_target
IDirectFBSurface targetted by this RenderTarget.
Definition: RendererModules/DirectFB/RenderTarget.h:61
Implementation of CEGUI::RenderTarget for DirectFB.
Definition: RendererModules/DirectFB/RenderTarget.h:40
void setArea(const Rectf &area)
Set the area for this RenderTarget. The exact action this function will take depends upon what the co...
Abstract class defining the interface for objects that buffer geometry for later rendering.
Definition: GeometryBuffer.h:42
const Rectf & getArea() const
Return the area defined for this RenderTarget.
void draw(const GeometryBuffer &buffer)
Draw geometry from the given GeometryBuffer onto the surface that this RenderTarget represents...
void unprojectPoint(const GeometryBuffer &buff, const Vector2f &p_in, Vector2f &p_out) const
Take point p_in unproject it and put the result in p_out. Resulting point is local to GeometryBuffer ...
Rectf d_area
holds defined area for the RenderTarget
Definition: RendererModules/DirectFB/RenderTarget.h:63
DirectFBRenderer & d_owner
DirectFBRenderer that created and owns this RenderTarget.
Definition: RendererModules/DirectFB/RenderTarget.h:59
bool isImageryCache() const
Return whether the RenderTarget is an implementation that caches actual rendered imagery.
Implementation of CEGUI::Renderer interface using DirectFB.
Definition: RendererModules/DirectFB/Renderer.h:44
DirectFBRenderTarget(DirectFBRenderer &owner, IDirectFBSurface &target)
Constructor.
Defines interface to some surface that can be rendered to. Concrete instances of objects that impleme...
Definition: RenderTarget.h:57
Class that represents a queue of GeometryBuffer objects to be rendered.
Definition: RenderQueue.h:52
void deactivate()
Deactivate the render target after having completed rendering.