aboutsummaryrefslogtreecommitdiffhomepage
path: root/gtk
AgeCommit message (Collapse)AuthorFilesLines
2021-03-20Use new Surface APIs that can adapt to different stroke widths and use clippingNeil1-1/+0
to allow more accurate less complex drawing code.
2021-03-20Use Surface::AllocatePixMap instead of changing an existing surface withNeil1-1/+1
InitPixMap. Changed DropGraphics from releasing surfaces to deleting them. This simplifies code and the added cost of allocating a new Surface is small.
2021-03-25Translucent text.Neil1-16/+16
2021-03-20Add AllocatePixMap method on Surface to create a pixmap surface.Neil1-15/+38
2021-03-20Use SurfaceMode struct as a way to inform Surface of modes like code page andNeil1-3/+28
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/+5
filling it to avoid partially drawn pixels on left and right edges.
2021-03-20Implement LineDraw and PolyLine.Neil1-0/+27
2021-03-20Implement Stadium on all platforms except for Win32 GDI.Neil1-2/+61
2021-03-20Implement RectangleFrame.Neil1-0/+10
2021-03-25Use FillStroke for parameters to Polygon, RectangleDraw, RoundedRectangle, andNeil1-0/+59
Ellipse.
2021-03-19Support strokeWidth and float cornerSize in AlphaRectangle. Use FillStrokeNeil1-0/+26
instead of separate colour and alpha arguments.
2021-03-25Implement translucent FillRectangle.Neil1-4/+23
2021-03-19UTF-8 text drawing and measurement.Neil1-0/+88
Move SurfaceGDI::WidthText to match declaration order.
2021-03-19Add an explicit FlushDrawing method to Surface that should be called afterNeil1-0/+4
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-1/+13
2021-03-19Add Surface::PixelDivisions which detects 'retina' displays that useNeil1-0/+6
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/+14
2021-03-19Add Geometry.cxx for geometric and colour operations too complex for headers.Neil2-0/+4
Add FillStroke to hold parameters for drawing shapes.
2021-03-19Switch enum to enum class.Neil2-34/+36
2020-06-24Converting between UTF-8 and current encoding.Neil2-0/+20
Allows platform-independent code to be written just to handle Unicode.
2021-03-18Make Surface::Release and callers (where possible) noexcept.Neil1-2/+2
2021-03-18Use unique_ptr to add to RGBAImageSet.Neil1-7/+8
2021-03-18Use unique_ptr for CaseFolderForEncoding to show transfer of ownership.Neil2-5/+5
2021-03-18Use unique_ptr for Surface::Allocate to show transfer of ownership.Neil1-2/+2
2021-03-18std::optional is a basic vocabulary type that may be used widely so includeNeil3-0/+3
almost everywhere.
2021-03-18Move assert and debug trace functions into their own header Debugging.h.Neil4-14/+27
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/+4
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.Neil2-10/+10
2021-03-17Remove Window::SetFont as never used.Neil1-4/+0
2021-03-17Change Font to an interface and stop using FontID. Fonts are shared andNeil1-165/+140
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-5/+5
destroying state should not throw.
2021-03-17Extract geometry and colour definitions from Platform.h into src/Geometry.h.Neil4-0/+27
2021-03-17Remove DynamicLibrary as loading lexers with SCI_LOADLEXERLIBRARY was removedNeil1-40/+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.
2021-03-16Moved Platform.h to src as it is private to Scintilla.Neil1-24/+24
2021-01-29Update build dependenciesstart-5Neil1-1551/+21
2020-11-18Remove Lexilla files from analyze target.Neil1-1/+1
2020-11-02Drop building Lexilla and including lexlib in component.Neil1-24/+3
2020-11-02Update DepGen to not look for lexers or lexlib.Neil1-2/+2
2020-11-28Update build dependencies.Neil1-3/+0
2020-11-02Use std::size instead of ELEMENTS so StringCopy.h is only used by Lexilla andNeil3-5/+2
can be removed from Scintilla.
2020-07-31More consistent rectangle arguments.Neil1-11/+10
Change radius argument on PathRoundRectangle to double as this causes fewer warnings.
2020-07-31Simplify code by using CAIRO_EXTEND_REPEAT to tile a pattern instead of loopingNeil1-21/+6
over all the tiles.
2020-07-30Bug [#2191]. Allow setting CPPFLAGS to support hardening.Andreas Rönnquist1-2/+2
2020-07-28Bug [#2189]. Allow cross-building for GTK by choosing pkg-config.Andreas Rönnquist1-2/+3
2020-05-22Hoist repeated test for string selection types into static method.Neil2-4/+8
2020-05-22Bug [#2171]. Implement per-monitor DPI Awareness on Windows.Chris Graham2-11/+23
2020-05-17Ensure Lexilla built as well.Neil1-1/+6