X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Fview.h;h=c6c230dfe05f23c44c1ecdbd085faa459a3efafd;hp=4e2306a51718d53b8708239ae7b78f50c76f0546;hb=aaa65d90ac812f924cbbc39bef7a5f8b6cad2da3;hpb=709efed7bb1d5e028e6b6b0a1e82f7fbae297329 diff --git a/src/view.h b/src/view.h index 4e2306a..c6c230d 100644 --- a/src/view.h +++ b/src/view.h @@ -9,18 +9,31 @@ namespace IPDF class View { public: - View(Document & document) : m_document(document), m_bounds(0,0,1,1) {} + View(Document & document, const Rect & bounds = Rect(0,0,1,1), const Colour & colour = Colour(0.f,0.f,0.f,1.f)) + : m_document(document), m_bounds(bounds), m_colour(colour), m_use_gpu_transform(false) + { + Debug("View Created - Bounds => {%s}", m_bounds.Str().c_str()); + } virtual ~View() {} void Render(); void Translate(Real x, Real y); void ScaleAroundPoint(Real x, Real y, Real scaleAmt); + + Rect TransformToViewCoords(const Rect& inp) const; + + const Rect& GetBounds() const { return m_bounds; } + + const bool UsingGPUTransform() const { return m_use_gpu_transform; } + void ToggleGPUTransform() { m_use_gpu_transform = (!m_use_gpu_transform); } private: void DrawGrid(); + bool m_use_gpu_transform; Document & m_document; Rect m_bounds; + Colour m_colour; }; }