diff options
author | Neil <nyamatongwe@gmail.com> | 2014-01-18 10:48:20 +1100 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2014-01-18 10:48:20 +1100 |
commit | e0135dc0026315279c64f7a3aa796751d5f5b9c5 (patch) | |
tree | 1af7de6df38aa70a6d13afb8f2eac4c1082375a1 | |
parent | a285d5a30827d68ec10d6333907cdf905ee8507c (diff) | |
download | scintilla-mirror-e0135dc0026315279c64f7a3aa796751d5f5b9c5.tar.gz |
With Direct2D draw circles with a 1 pixel larger radius to better match
other platforms and ensure for folding markers that the '+' or '-' do
not touch the circle.
Change order of drawing so that circles are drawn after connecting
lines so overwrite any tails.
-rw-r--r-- | src/LineMarker.cxx | 8 | ||||
-rw-r--r-- | win32/PlatWin.cxx | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/LineMarker.cxx b/src/LineMarker.cxx index 7e08e86d2..baa916254 100644 --- a/src/LineMarker.cxx +++ b/src/LineMarker.cxx @@ -317,17 +317,14 @@ void LineMarker::Draw(Surface *surface, PRectangle &rcWhole, Font &fontForCharac DrawPlus(surface, centreX, centreY, blobSize, tail); } else if (markType == SC_MARK_CIRCLEMINUS) { - DrawCircle(surface, centreX, centreY, blobSize, fore, head); - DrawMinus(surface, centreX, centreY, blobSize, tail); - surface->PenColour(head); surface->MoveTo(centreX, centreY + blobSize); surface->LineTo(centreX, rcWhole.bottom); - } else if (markType == SC_MARK_CIRCLEMINUSCONNECTED) { DrawCircle(surface, centreX, centreY, blobSize, fore, head); DrawMinus(surface, centreX, centreY, blobSize, tail); + } else if (markType == SC_MARK_CIRCLEMINUSCONNECTED) { surface->PenColour(head); surface->MoveTo(centreX, centreY + blobSize); surface->LineTo(centreX, rcWhole.bottom); @@ -336,6 +333,9 @@ void LineMarker::Draw(Surface *surface, PRectangle &rcWhole, Font &fontForCharac surface->MoveTo(centreX, rcWhole.top); surface->LineTo(centreX, centreY - blobSize); + DrawCircle(surface, centreX, centreY, blobSize, fore, head); + DrawMinus(surface, centreX, centreY, blobSize, tail); + } else if (markType >= SC_MARK_CHARACTER) { char character[1]; character[0] = static_cast<char>(markType - SC_MARK_CHARACTER); diff --git a/win32/PlatWin.cxx b/win32/PlatWin.cxx index f67bcf7fb..548d620d3 100644 --- a/win32/PlatWin.cxx +++ b/win32/PlatWin.cxx @@ -1563,7 +1563,7 @@ void SurfaceD2D::DrawRGBAImage(PRectangle rc, int width, int height, const unsig void SurfaceD2D::Ellipse(PRectangle rc, ColourDesired fore, ColourDesired back) { if (pRenderTarget) { - FLOAT radius = rc.Width() / 2.0f - 1.0f; + FLOAT radius = rc.Width() / 2.0f; D2D1_ELLIPSE ellipse = { D2D1::Point2F((rc.left + rc.right) / 2.0f, (rc.top + rc.bottom) / 2.0f), radius,radius}; |