starting to make render's interface
This commit is contained in:
parent
e3eeac5b6e
commit
02066c5d0b
6 changed files with 23 additions and 4 deletions
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include "rendercontrol.hh"
|
||||
#include "truerendercontrol.hh"
|
||||
#include "rendertexture.hh"
|
||||
#include "display.hh"
|
||||
#include "screeninfo.hh"
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@ namespace otk {
|
|||
|
||||
class ScreenInfo;
|
||||
class Surface;
|
||||
class RenderTexture;
|
||||
|
||||
class RenderControl {
|
||||
protected:
|
||||
|
@ -66,7 +67,8 @@ public:
|
|||
|
||||
static RenderControl *getRenderControl(int screen);
|
||||
|
||||
virtual void render(Surface *sf) = 0;
|
||||
virtual void drawBackground(Surface *sf,
|
||||
const RenderTexture &texture) const = 0;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#include "otk.hh"
|
||||
#include "rendercontrol.hh"
|
||||
#include "rendertexture.hh"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <X11/Xlib.h>
|
||||
|
@ -15,7 +16,9 @@ int main(int argc, char **argv)
|
|||
|
||||
otk::RenderControl *rc = otk::RenderControl::getRenderControl(0);
|
||||
|
||||
rc->render(&foo);
|
||||
otk::RenderTexture tex;
|
||||
|
||||
rc->drawBackground(&foo, tex);
|
||||
XSetWindowBackgroundPixmap(**otk::display, foo.window(), foo.pixmap());
|
||||
XClearWindow(**otk::display, foo.window());
|
||||
|
||||
|
|
12
otk/rendertexture.hh
Normal file
12
otk/rendertexture.hh
Normal file
|
@ -0,0 +1,12 @@
|
|||
// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
|
||||
#ifndef __rendertexture_hh
|
||||
#define __rendertexture_hh
|
||||
|
||||
namespace otk {
|
||||
|
||||
class RenderTexture {
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif // __rendertexture_hh
|
|
@ -102,7 +102,8 @@ static inline void renderPixel(XImage *im, unsigned char *dp,
|
|||
}
|
||||
}
|
||||
|
||||
void TrueRenderControl::render(Surface *sf)
|
||||
void TrueRenderControl::drawBackground(Surface *sf,
|
||||
const RenderTexture &texture) const
|
||||
{
|
||||
assert(sf);
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ public:
|
|||
TrueRenderControl(const ScreenInfo *screen);
|
||||
virtual ~TrueRenderControl();
|
||||
|
||||
virtual void render(Surface *sf);
|
||||
virtual void drawBackground(Surface *sf, const RenderTexture &texture) const;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue