mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-17 06:06:00 -06:00
41 lines
1.4 KiB
C++
41 lines
1.4 KiB
C++
//#ifndef _agg_upp_bind_AggDrawer_h_
|
|
//#define _agg_upp_bind_AggDrawer_h_
|
|
|
|
//from DrawingDraw?
|
|
//#include "agg_upp_bind.h"
|
|
|
|
class AggDrawer {
|
|
private:
|
|
typedef agg::renderer_base<agg::pixfmt_bgra32> renderer_base;
|
|
typedef agg::renderer_scanline_aa_solid<renderer_base> renderer_solid;
|
|
|
|
Rect m_r;
|
|
Size sz;
|
|
ImagBuffer uibuf;
|
|
agg::rendering_buffer m_rbuf;
|
|
|
|
agg::rasterizer_scanline_aa<> m_ras;
|
|
agg::scanline_p8 m_sl;
|
|
renderer_base m_renb; //renderer base
|
|
renderer_solid m_ren; //(renb); //
|
|
agg::pixfmt_bgra32 m_pixf;
|
|
|
|
void AttachBuffers();
|
|
public:
|
|
void DrawLine(int x1, int y1, int x2, int y2, int width = 0);
|
|
void DrawEllipse(int x1, int y1, int cx, int cy, int width);
|
|
|
|
void SetBackground(const agg::rgba8& ct) { m_renb.clear(ct); }
|
|
void SetBrushColor(const agg::rgba8& ct) { m_ren.color(ct); }
|
|
|
|
void RenderScanlines();
|
|
|
|
void End(Draw& w, bool norr=false) { RenderScanlines(); uibuf.Rectangalize(w, norr); uibuf.Clear(); }
|
|
|
|
// AggDrawer(Draw& w, const Rect& r) { m_w=w; m_r=r; sz=r.GetSize(); uibuf.Create(sz); AttachBuffers(); }
|
|
AggDrawer(const Rect& r) { m_r=r; sz=r.GetSize(); uibuf.Create(sz); AttachBuffers(); }
|
|
|
|
//virtual ~AggDrawer() { uibuf.Rectangalize(m_w, true); uibuf.Clear(); }
|
|
};
|
|
|
|
//#endif
|