aboutsummaryrefslogtreecommitdiffhomepage
path: root/gtk/PlatGTK.cxx
AgeCommit message (Collapse)AuthorFilesLines
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-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 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 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/+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.Neil1-7/+7
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.Neil1-0/+1
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.
2020-11-02Use std::size instead of ELEMENTS so StringCopy.h is only used by Lexilla andNeil1-1/+0
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-05-01Bug [#2173]. Tweak font measurement so underscores more likely visible.Neil1-2/+2
2020-03-26Fix spelling mistakes.Neil1-3/+3
2020-03-19Use dynamic_cast and assertion to make bugs more obvious.Neil1-26/+31
Use noexcept, namespace, const, constexpr, and static inline where reasonable. Avoid warnings in initializations.
2020-02-15Extract image conversion from RGBA to BGRA premultiplied into common function.Neil1-10/+5
2019-09-30Delete standard functions on classes where there could be attempts to copy.Neil Hodgson1-1/+26
2019-03-27Ran astyle to standardize formatting.Neil1-117/+117
2019-03-27Use const where reasonable. Some additional type safety.Neil1-72/+77
2019-03-27Replace NULL/0 with nullptr. Mark noexcept where simple.Neil1-99/+104
Move some static functions into anonymous namespace.
2019-03-27Use size_t for consistency and to avoid casts.Neil1-4/+4
2019-03-27Add <algorithm> for std::min/max. Standardize on _WIN32 to gate Win32 features.Neil1-0/+1
Protect from windows.h definition of min/max.
2019-03-25Simplify with range for.Neil1-2/+2
2019-03-25Use generic std::abs instead of abs and fabs.Neil1-3/+3
2019-03-25Use generic versions of ceil, floor, round, lround, trunc from <cmath>.Neil1-2/+2
2018-06-02Define IScreenLineLayout as the main interface for implementing bidirectionalNeil1-13/+3
features by platform code. Implement IScreenLineLayout for Win32 / DirectWrite as ScreenLineLayout.
2018-05-23Add definitions for bidirectional support to Platform.h and provide emptyNeil1-0/+20
implementations for each platform.
2018-05-22Add GradientRectangle method to Surface to draw rectangles with vertical orNeil1-0/+27
horizontal gradients.
2018-05-14Fix warnings in debug assertions.Neil Hodgson1-3/+3
2018-05-14Modernize Platform.h (4) - update Surface to use string_view for text arguments.Neil1-46/+46
2018-05-14Modernize Platform.h (3) - update Surface to delete WidthChar, use size_t forNeil1-17/+5
Polygon and delete the standard copy and assignment methods.
2018-05-14Modernize Platform.h (2) - noexcept, const, constexpr.Neil1-3/+3
ColourDesired is an int instead of long for consistency over different platforms. Changes made to Point, PRectangle, and ColourDesired. RoundXYPosition removed.
2018-05-14Modernize Platform.h (1) - noexcept, const, standard methods.Neil1-8/+8
Changes made to FontParameters, Font, Window, ListBoxEvent, ListBox, Menu, DynamicLibrary, and Platform.
2018-05-14Include <string_view> to allow future use in Platform interface and Unicode.Neil1-0/+1
2018-04-26Use <chrono> for platform-independent timing and remove ElapsedTime.Neil1-22/+0
Also use #if for painting measurement as there are 7 sections of code to enable.