aboutsummaryrefslogtreecommitdiffhomepage
path: root/gtk/PlatGTK.cxx
AgeCommit message (Collapse)AuthorFilesLines
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
2016-05-05Remove template adaptor as only g_iconv is used now. Use glib's gsize type as itNeil Hodgson1-8/+8
matches g_iconv exactly. Make character set name buffer dynamically sized.
2016-04-30Move function braces for consistency.Neil Hodgson1-4/+2
2016-04-27GTK: Get border for the exact current style's state on GTK 3Colomban Wendling1-3/+4
GTK 3.20 doesn't seem to like it so much when looking up details of a non-exact current style context state, so use the current one. This is GTK being really picky as in this case we are just missing the `DIR_LTR` flag, which we definitely don't care about, but let's make it happy.
2016-04-27GTK: Fix auto-completion popup sizing code for GTK 3.20Colomban Wendling1-24/+39
GTK 3.20's GtkScrolledWinodw doesn't like having a too small allocation and spews scary assertion failures. Fix that by requesting the real size we'd like instead of hard-coding 1 as small-enough value in our overriding height requisition method. The actual value doesn't really matter so long as it's small enough anyway, as we resize the popup to fit later on. Note: this moves the actual implementation of ListBoxX::GetRowHeight() to the new convenience function treeViewGetRowHeight(), with no changes in implementation.
2016-04-27GTK: Plug a memory leakColomban Wendling1-0/+1
2016-04-27GTK: Fix fetching the frame border width on GTK 3.20Colomban Wendling1-1/+24
GTK 3.20 introduced a sub-node named "border" to the frame, requiring to lookup the border on that sub-node rather than on the frame itself. Unfortunately supporting this requires to be built against GTK 3.20, as it requires API this version introduced. This means that a build against an older version won't be able to get the popup sizing right if running on 3.20. To mitigate this, add reasonable fallback defaults when running 3.20 but built on an earlier version, to try and avoid 2px-scrolling on GTK 3.20's default theme.
2016-04-27GTK: Fix popup font on GTK >= 3.20Colomban Wendling1-1/+1
2016-04-12Font cache removed along with its thread locking and initialisation.Neil Hodgson1-249/+21
Platform-independent caching is available and there is no performance difference after removal.
2016-03-25Since stddef.h is the most basic header, defining size_t, move it first.Neil1-1/+1
2015-11-20Remove line end whitespace.Neil1-1/+1
2015-10-25GTK: Fix autoc popup row height on GTK2 when it changes at runtimeColomban Wendling1-2/+2
Now the popup is cached the row height has to be re-computed when the font changes on GTK2 too. Closes [bugs:1774].
2015-09-27Simplify casting by using static_cast instead of reinterpret_cast, glib macrosNeil1-8/+8
for passing integer values to callbacks, and avoiding casts by making functions follow prototypes exactly.
2015-09-05Remove #if sections which are not required for GTK+ 2.18.nyamatongwe1-17/+2
2015-09-05With the minimum GTK+ version now 2.18, remove #if conditions required for oldernyamatongwe1-7/+1
versions of GTK+.
2015-09-03Removing support for old GTK+ versions. Minimum GTK+ is 2.18 with glib 2.22.Neil1-6/+1
2015-08-26Removed setting list colours on GTK+ 3.16+ as no longer appears needed.Neil1-1/+5
2015-08-26Use current CSS theming calls instead of deprecated gtk_widget_override_font.Neil1-2/+42
2015-08-26On GTK+ 3.x, fix height of lines in autocompletion lists to match the font.Neil1-1/+5
2015-08-16On GTK+, support code page 866 with SC_CHARSET_OEM866.Serg Stetsuk1-0/+2
2015-06-05Simplified retrieval of correct display for widget and ensure works on older ↵nyamatongwe1-10/+1
versions of GTK+.
2015-06-04Restored compatibility with GTK+ 2.18 for cursor calls.nyamatongwe1-0/+4
2015-06-02GTK: Fix runtime completion popup warningColomban Wendling1-1/+2
GtkScrolledWindow in GTK 3.16 might have a minimum and natural height of 0 if GTK_OVERLAY_SCROLLING is enabled (which is the default), so we need to fix our overridden minimal height to never be greater than the natural height. Do that by only changing the minimal height if it is greater than what we want. I don't know why we didn't use to set 0 here, but it might be that a height of 0 caused problems on older GTK versions, so keep 1 to be sure.