aboutsummaryrefslogtreecommitdiffhomepage
path: root/win32/PlatWin.cxx
AgeCommit message (Collapse)AuthorFilesLines
2022-08-02Hoist common DirectWrite position measuring code into MeasurePositions function.Neil1-43/+32
Ensure works on text longer than stackBufferLength.
2022-08-01Improve drawing of rounded rectangles with Direct2D.Neil1-10/+20
Treat case where outline and fill are same colour as single fill call for more uniform appearance. In thin rectangles, shift to semi-circular ends when no room for full rounded corners. Use different radius for fill and stroke for more uniform appearance.
2022-04-10Feature [feature-requests:#1435] Fix problem with horizontally inverted glyphsNeil1-1/+1
with buffered drawing and WS_EX_LAYOUTRTL set on Win32 GDI.
2022-03-12Feature [feature-requests:#1432] Support per-monitor text rendering parametersNeil1-33/+20
and update when changed by user. Includes code from Zufu Liu.
2022-03-01Update Windows API version to Windows 10 (0x0A00) as released in 2015 and SDKsNeil1-14/+2
should now be compatible.
2022-02-17Add extra condition to avoid Clang-Tidy warning.Neil1-1/+1
2022-02-02Add Supports::ThreadSafeMeasureWidths for platforms to indicate if they supportNeil1-0/+1
concurrent calls to MeasureWidths.
2022-01-13Feature [feature-requests:#1427] Make SurfaceD2D::MeasureWidths andZufu Liu1-61/+60
MeasureWidthsUTF8 reentrant so they can be called safely from multiple threads.
2022-01-13Remove tests for pD2DFactory and pIDWriteFactory that can not fail.Zufu Liu1-11/+11
Use constexpr.
2021-11-22Make const where correct.Neil1-2/+2
2021-11-22Move common Win32 functions for releasing IUnknown* and DLL function access intoNeil1-0/+1
new WinType.h header.
2021-10-12Feature [feature-requests:#1416] Drop static in unnamed namespace.Neil1-1/+1
2021-09-29Feature [feature-requests:#1416] Shorten code.Zufu Liu1-3/+2
2021-09-29Feature [feature-requests:#1416] Shorten code and avoid cppcheck warning.Zufu Liu1-7/+1
2021-09-15Move colour mixing implementations into implementation file.Neil1-13/+1
Avoids some warnings but drops constexpr. Use MixedWith in PlatWin for GDI instead of local implementation. Add unit tests for Geometry.
2021-07-17Add SCI_AUTOCSETOPTIONS to allow choosing a non-resizeable autocompletion listNeil1-5/+7
on Win32. This also avoids a header rectangle above the list.
2021-06-09Reduce casts by defining methods for common conversions.Neil1-2/+2
2021-06-05Bug [#2259]. Fix gcc link-time-optimization compilation.Neil1-0/+1
2021-05-24Define C++ version of the Scintilla API in ScintillaTypes.h, ScintillaMessages.hNeil1-58/+60
and ScintillaStructures.h using scoped enumerations. Use these headers instead of Scintilla.h internally. External definitions go in the Scintilla namespace and internal definitio0ns in Scintilla::Internal.
2021-05-22Rename ColourAlpha to ColourRGBA to avoid clashes when a ColourAlpha typedefNeil1-43/+43
will be published in externally visible header.
2021-05-17Fix issues reported by Coverity and Visual C++ Analysis.Neil1-8/+20
Throw when (impossible) dynamic_cast failures occur as it isn't reasonable to recover. That removes 'noexcept' from some methods. Cast to avoid 'sub-expression overflow' warnings. Add default initializations and noexcept where safe. Move DropRenderTarget out of #if to avoid some preprocessor use.
2021-05-16Remove untenable noexcept as RGBAImageSet constructor can throw.Neil1-1/+1
2021-05-03Rename Opaque to WithoutAlpha as it returns a colour with 0 alpha. New OpaqueNeil1-2/+2
method returns a colour with maximum (0xff) alpha.
2021-04-25Feature [feature-requests:#1402]. Unify colour type with ColourAlpha.Neil1-20/+20
Change ColourDesired to ColourAlpha in styles. Remove ColourDesired.
2021-04-20Avoid some warnings and make similar code more consistent.Neil1-15/+8
2021-04-20If text format creation fails, could be because of bad locale so try "en-us".Neil1-0/+7
2021-04-20Bug [#2246]. Fix encoding used for DirectWrite text display.Neil1-5/+6
2021-04-09Bug [#2243]. Fix crash when technology=2 (SC_TECHNOLOGY_DIRECTWRITERETAIN).rel-5-0-1Neil1-1/+1
2021-04-07Feature [feature-requests:#1364]. Correct argument to TextWide forNeil1-2/+2
autocompletion lists.
2021-04-05Mark more destructors as noexcept. Delete unwanted LisboxX standard methods.Neil1-13/+16
2021-03-31Feature [feature-requests:1393]. Optimization in SurfaceD2D::AverageCharWidth.Zufu Liu1-1/+1
2021-03-29Modify ListBox::GetValue to return a std::string to avoid fixed size buffersNeil1-4/+3
and the possibility of truncation.
2021-03-29Add SCI_SETELEMENTCOLOUR and related APIs to change colours of visible elements.Neil1-10/+28
Implement SC_ELEMENT_LIST* to change colours of autocompletion lists.
2021-03-26Add SC_SUPPORTS_PIXEL_MODIFICATION to differentiate character cell andNeil1-1/+10
pixel oriented platforms.
2021-03-26Bug [#2224]. Switch XYPOSITION to double so it has more precision to fixNeil1-71/+91
problems with very long documents. Fixes uneven line heights on Cocoa after around 1.1 million lines.
2021-03-26Simplify dwordMultiplied as only ever called for ColourAlpha.Neil1-9/+9
2021-03-22Minimize differences between SurfaceD2D::MeasureWidthsUTF8 and MeasureWidths.Neil1-6/+6
2021-03-25Remove old Surface methods that have been replaced.Neil1-381/+1
2021-03-22Implement more support values.Neil1-0/+2
2021-03-20Replace FillRectangle with FillRectangleAligned as FillRectangle will stopNeil1-4/+4
aligning to pixel boundaries. Use Surface::SetMode as simpler and its predecessors will be removed.
2021-03-25Translucent text.Neil1-78/+51
2021-03-20Add AllocatePixMap method on Surface to create a pixmap surface.Neil1-12/+55
2021-03-20Use SurfaceMode struct as a way to inform Surface of modes like code page andNeil1-37/+42
bidirectional options in an extensible way instead of adding a call for each element.
2021-03-25Add FillRectangleAligned to align rectangle to pixel grid on x-axis beforeNeil1-0/+10
filling it to avoid partially drawn pixels on left and right edges.
2021-03-20Implement LineDraw and PolyLine.Neil1-0/+79
2021-03-20Implement Stadium on all platforms except for Win32 GDI.Neil1-0/+103
2021-03-20Implement RectangleFrame.Neil1-0/+18
2021-03-25Use FillStroke for parameters to Polygon, RectangleDraw, RoundedRectangle, andNeil1-6/+150
Ellipse.
2021-03-19Support strokeWidth and float cornerSize in AlphaRectangle. Use FillStrokeNeil1-0/+87
instead of separate colour and alpha arguments.
2021-03-25Implement translucent FillRectangle.Neil1-19/+39