12345678910111213141516171819202122232425262728293031323334353637383940 |
- #ifndef __BPAINTWND_H
- #define __BPAINTWND_H
- #include <api/wnd/wndclass/guiobjwnd.h>
- #define BUFFERPAINTWND_PARENT GuiObjectWnd
- class BufferPaintWnd : public BUFFERPAINTWND_PARENT {
-
- public:
- BufferPaintWnd();
- virtual ~BufferPaintWnd();
- virtual int onInit();
- virtual int onPaint(Canvas *c);
-
- virtual int onBufferPaint(BltCanvas *c, int w, int h) { return 1; }
- virtual int wantEvenAlignment() { return 0; } // if you need even coordinates for your framebuffer, return 1 here
- virtual void getBufferPaintSize(int *w, int *h); // by default returns client width/height
- virtual void getBufferPaintSource(RECT *r); // by default returns the size of the quickpaint canvas
- virtual void getBufferPaintDest(RECT *r); // by default returns the size of client area
- virtual int wantNegativeHeight() { return 0; }
- virtual void invalidateBuffer();
- virtual int onResize();
- virtual void onNewBuffer(int w, int h) {}
-
- protected:
- BltCanvas *render_canvas;
- private:
- void bufferPaint();
- int updateCanvas();
- int canvas_w, canvas_h;
- int invalidated;
- };
- #endif
|