aboutsummaryrefslogtreecommitdiffhomepage
path: root/gtk/PlatGTK.cxx
AgeCommit message (Collapse)AuthorFilesLines
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.
2018-03-22Feature [feature-requests:#1211]. Use pre-computed table for UTF8BytesOfLead.Zufu Liu1-1/+1
Friendlier treatment of invalid UTF-8. Add tests for UniConversion handling invalid UTF-8. Simplify UTF8Classify tests.
2017-09-11The Scintilla namespace is always active for internal symbols and for the lexerNeil1-6/+0
interfaces ILexer4 and IDocument.
2017-06-12Removed unused functions and methods from Platform.h.Neil1-100/+0
Replaced Platform::Clamp with Sci::clamp but will later change this to std::clamp once on full C++17 compilers. Drop MouseButtonBounce workaround for very early GTK+/Linux.
2017-06-11Implement SCN_AUTOCSELECTIONCHANGE notification.Neil1-9/+31
2017-06-10Require GTK+ 2.24 or later. Removes support for earlier versions.Baldur Karlsson1-33/+0
2017-06-09Use min and max from std instead of own version from platform.Neil1-4/+4
2017-04-22Include <memory> for std::unique_ptr.Neil1-0/+1
2017-04-15Avoid calling virtual functions in constructors and destructors.Neil1-2/+7
2017-04-07Use same parameter names in declarations and definitions.Neil1-6/+6
2017-04-01Standardize on C++ headers, remove headers that aren't needed and add <cstddef>Neil1-5/+5
where it may be needed in the future.
2017-03-07GTK: Fix popup positioning on monitors not positioned at 0,0Colomban Wendling1-20/+14
2017-03-04Use C++11 keyword "override" for methods that override a base class.Neil1-63/+63
2017-01-04Use new simplified API for showing menu on GTK+ 3.22 as old API was deprecated.Neil1-3/+11
2017-01-04Use newer APIs for screen/monitor/display on GTK+ 3.22 as old APIs deprecated.Neil1-7/+35
These are used to ensure popup windows are fully on-screen but after this change, this doesn't always work on GTK+ 3.22 / Wayland.
2017-01-04Fix display of autocompletion lists and calltips on GTK+ 3.22 on Wayland byNeil1-1/+5
setting the owning window by calling gtk_window_set_transient_for.
2016-11-07Remove warning suppressions for a version of Clang from 4 years ago.Neil1-5/+0
2016-10-23Bug [#1874]. GTK: Avoid warnings about unused parametersColomban Wendling1-1/+1
Either remove the parameter name if it is never used, or mark it with G_GNUC_UNUSED when it might be used depending on some preprocessor flags.
2016-09-06GTK: Fix autoc font size on GTK >= 3.21.0Colomban Wendling1-1/+9
GTK 3.21.0 fixed font size handling, leading to properly interpreting pixels and points in CSS declarations. However, as older versions incorrectly handled those, the code has to handle both behaviours. From CSS, GTK < 3.21.0 actually applied the conversion to points, but incorrectly: 10px was used as 10pt, but 10pt was scaled up twice. So, assuming 96 DPI, it leads to: font-size | 3.20.0 | 3.21.0 | ----------|---------|---------| 10px | 13.33px | 10px | 10pt | 17.77px | 13.33px | So, we need to fix the code to accommodate for both (either scaling ourselves, or adapting the unit: I chose the second, simpler, option). See https://git.gnome.org/browse/gtk+/commit/?id=df08fc91bdc1d2e4c866122304fabe4dd298a7de