From 1c13aee8d43011f8698a3578a2255cbd2ff1c3fa Mon Sep 17 00:00:00 2001 From: cxl Date: Mon, 5 Nov 2018 08:09:27 +0000 Subject: [PATCH] Painter: Minor optimizations git-svn-id: svn://ultimatepp.org/upp/trunk@12462 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/Draw/RescaleFilter.cpp | 2 +- uppsrc/Painter/Painter.h | 5 +++-- uppsrc/Painter/Render.cpp | 2 +- uppsrc/Painter/Xform2D.cpp | 11 ----------- 4 files changed, 5 insertions(+), 15 deletions(-) diff --git a/uppsrc/Draw/RescaleFilter.cpp b/uppsrc/Draw/RescaleFilter.cpp index aed73131e..7bbc8c98e 100644 --- a/uppsrc/Draw/RescaleFilter.cpp +++ b/uppsrc/Draw/RescaleFilter.cpp @@ -148,7 +148,7 @@ Image RescaleFilter(const Image& img, int cx, int cy, static double sNearest(double x) { - return x >= -0.5 && x <= 0.5; + return (double)(x >= -0.5 && x <= 0.5); } diff --git a/uppsrc/Painter/Painter.h b/uppsrc/Painter/Painter.h index 4b6ca8d51..34156a103 100644 --- a/uppsrc/Painter/Painter.h +++ b/uppsrc/Painter/Painter.h @@ -16,11 +16,12 @@ INITIALIZE(PaintPainting) struct Xform2D { Pointf x, y, t; + Pointf Transform(double px, double py) const { return Pointf(px * x.x + py * x.y + t.x, px * y.x + py * y.y + t.y); } + Pointf Transform(const Pointf& f) const { return Transform(f.x, f.y); } + Pointf GetScaleXY() const; double GetScale() const; bool IsRegular() const; - Pointf Transform(const Pointf& f) const; - Pointf Transform(double x, double y) const; static Xform2D Identity(); static Xform2D Translation(double x, double y); diff --git a/uppsrc/Painter/Render.cpp b/uppsrc/Painter/Render.cpp index 175bbf605..83c4f8880 100644 --- a/uppsrc/Painter/Render.cpp +++ b/uppsrc/Painter/Render.cpp @@ -163,7 +163,7 @@ Buffer BufferPainter::RenderPath(double width, Event= 64) { + if(jobcount >= 1024) { LDUMP("Finish A"); Finish(); } diff --git a/uppsrc/Painter/Xform2D.cpp b/uppsrc/Painter/Xform2D.cpp index cc42d76c7..2a03b8135 100644 --- a/uppsrc/Painter/Xform2D.cpp +++ b/uppsrc/Painter/Xform2D.cpp @@ -2,17 +2,6 @@ namespace Upp { -Pointf Xform2D::Transform(const Pointf& f) const -{ - PAINTER_TIMING("Transform"); - return Pointf(f.x * x.x + f.y * x.y + t.x, f.x * y.x + f.y * y.y + t.y); -} - -Pointf Xform2D::Transform(double x, double y) const -{ - return Transform(Pointf(x, y)); -} - Pointf Xform2D::GetScaleXY() const { return Pointf(sqrt(x.x * x.x + y.x * y.x), sqrt(x.y * x.y + y.y * y.y));