aboutsummaryrefslogtreecommitdiffhomepage
path: root/win32/PlatWin.cxx
AgeCommit message (Collapse)AuthorFilesLines
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
2021-03-19UTF-8 text drawing and measurement.Neil1-34/+259
Move SurfaceGDI::WidthText to match declaration order.
2021-03-19Add an explicit FlushDrawing method to Surface that should be called afterNeil1-13/+12
completing a bitmap. Currently only has a real implementation on Direct2D. Avoiding implicit flushes inside Copy and FillRectangle produced a 23% speed improvement on files with about 1 indentation guide per line as the drawing pipeline was being flushed for each indentation guide.
2021-03-19Implement PopClip to allow local clipping.Neil1-0/+15
2021-03-19Add Surface::PixelDivisions which detects 'retina' displays that useNeil1-0/+12
multiple display pixels per logical pixel. Likely will only return >1 for Apple displays. Can be used for finer placement of elements.
2021-03-19Add Platform::Supports for SupportsFeature API.Neil1-0/+19
2021-03-19Add localeName to FontParameters for Bug [#2027].Neil1-1/+2
2021-03-19Ensure variables are initialised, are const where possible.Neil1-21/+26
Add default: break; to switches to avoid warnings.
2021-03-18Make Surface::Release and callers (where possible) noexcept.Neil1-4/+4
2021-03-18Use unique_ptr to add to RGBAImageSet.Neil1-2/+2
2021-03-18Use unique_ptr for Surface::Allocate to show transfer of ownership.Neil1-4/+4
2021-03-18std::optional is a basic vocabulary type that may be used widely so includeNeil1-0/+1
almost everywhere.
2021-03-18Move assert and debug trace functions into their own header Debugging.h.Neil1-0/+1
PLATFORM_ASSERT is used in data structure headers which led to including graphics and windowing APIs in data structure modules.
2021-03-18ListBox options API. ListOptions is currently empty but may contain list itemNeil1-0/+6
colours in the future.
2021-03-17Use unique_ptr for ListBox::Allocate to show transfer of ownership.Neil1-3/+2
2021-03-17Change Window::Cursor to an enum class.Neil1-9/+9
2021-03-17Remove Window::SetFont as never used.Neil1-5/+0
2021-03-17Change Font to an interface and stop using FontID. Fonts are shared andNeil1-177/+133
reference counted using std::shared_ptr. This optimizes memory and reduces potential for allocation bugs.
2021-03-17Make Window argument to Menu::Show const as that avoids warnings and the WindowNeil1-1/+1
is not altered by showing a menu.
2021-03-17Mark Window::Destroy, ListBox::Clear, and Menu::Destroy as noexcept sinceNeil1-4/+4
destroying state should not throw.
2021-03-17Extract geometry and colour definitions from Platform.h into src/Geometry.h.Neil1-0/+1
2021-03-17Remove DynamicLibrary as loading lexers with SCI_LOADLEXERLIBRARY was removedNeil1-36/+0
for Scintilla 5.
2021-03-16Convert Platform from a class to a namespace. Does not change callers.Neil1-5/+5
Make Assert, DebugPrintf, and similar noexcept so they can be used in noexcept methods and they don't throw.
2020-07-29Use dynamic_cast for SurfaceGDI::Copy as it will fail better if a mistake made.Neil1-1/+1
2020-07-28Fix factory leak by using global factory instead of getting from render target.Neil1-4/+1
2020-07-27Add private SurfaceD2D::GetBitmap to better encapsulate the bitmap render targetNeil1-8/+11
and simplify callers.
2020-07-17Tidied up code using wstring, which will often avoid allocating, and fixingNeil1-9/+9
variable names.
2020-07-17Fix truncation of locale due to not counting NUL. Add return code check.Neil1-2/+4
2020-07-15Hoist common conversion code into RectangleFromPRectangle.Neil1-4/+12
2020-07-15Stronger argument validation in BlobInline methods.Neil1-1/+9