aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)AuthorFilesLines
2025-03-20Move SurfaceGDI, SurfaceD2D, ListBox, and associated code out of PlatWin.cxx toNeil16-3526/+3898
new files SurfaceGDI.cxx, SurfaceD2D.cxx, and ListBox.cxx + associated headers.
2025-03-20Bug [#2465]. Signal autoCompleteSelection converts from local encoding when not8day2-1/+6
in Unicode mode.
2025-03-20Standardize render target initialization.Neil3-44/+40
Use symbolic names for DPI instead of inline value 96.
2025-03-20Break CTWndProc into 3 methods by adding CTProcessMessage and CTPaint as it wasNeil1-79/+93
too long and complex.
2025-03-20Remove else after return where it decreases both nesting and number of lines.Neil1-163/+147
2025-03-19Avoid warnings with explicit, =default, and making deleted methods public.Neil1-13/+11
2025-03-19Avoid NULL warnings.Neil1-12/+12
2025-03-19Encapsulate WM_PAINT handling.Neil3-17/+23
2025-03-19Encapsulate GDI memory bitmap code into a GDIBitMap class.Neil1-103/+101
2025-03-18Set autocompletion list width by measuring each item to find the widest insteadNeil1-21/+19
of using an approximation which was sometimes wrong, clipping long items.
2025-03-18Use DirectWrite for autocompletion lists when DirectWrite chosen for documentNeil2-135/+207
text.
2025-03-17Standardize creation of DIB sections with common code always usingNeil1-23/+37
BITMAPV5HEADER for both GDI drawing and cursor creation.
2025-03-17Handle setting redraw back on correctly as documented by Microsoft.Neil1-2/+3
Will allow future simplification of logic and optimization.
2025-03-17Avoid null warning.Neil1-1/+1
2025-03-13Add values to character set table and style name (column 1) like other tables.Neil1-24/+47
2025-03-12Hoist RECT to PRectangle conversions into a function.Neil3-4/+8
2025-03-09Avoid warnings by replacing &[0] with .data(), adding [[nodiscard]], replacingNeil4-58/+56
typedef with using, and initialising at declaration.
2025-03-08Bug [#2466]. Avoid dwell start when mouse moved outside the Scintilla widget.Gianluca Vaccari3-0/+12
2025-03-08Define constants for UTF-8 and UTF-16 implementation for clarity.Neil3-62/+133
Add tests to check that inverted conversions yield the original value.
2025-03-06Move static functions and variables into unnamed namespace and use constexpr.Neil3-49/+60
2025-03-03Feature [feature-requests:#1417]. Improve UTF-8 segmentation for some controlNeil2-2/+139
characters and invalid bytes. Add more test cases.
2025-02-25Bug [#2463]. Disallow case changes if the range contains protected textJoachim Mairboeck2-1/+6
2025-02-27Bug [#2464]. On Qt, draw clipped UTF-8 text correctly.Neil2-1/+13
2025-02-25Added tag rel-5-5-5 for changeset 5cb9af9b3103Neil1-0/+1
2025-02-23Silence some warnings in test code.rel-5-5-5Neil3-17/+24
2025-02-23Feature [feature-requests:#1540]. Remove unused variable.Neil1-17/+0
2025-02-22Updates for version 5.5.5.Neil9-20/+20
2025-02-20Move SizeOfRect to header to allow use in ScintillaWin.cxx where it simplifiesNeil3-8/+7
and avoids type warnings.
2025-02-19Silence warnings with explicit, using, noexcept, [[nodiscard]], unnamedNeil1-132/+118
namespace, = default, in-class default member initializers, avoiding NULL, avoiding unnecessary else. Use POINT for insets as POINT has integer fields avoiding casts. Simplified cursor setting.
2025-02-19Use ComPtr for render targets of SurfaceD2D.Neil2-16/+15
Add comments about different types of Surface.
2025-02-18Use ComPtr for text formats and text layouts.Neil1-59/+42
2025-02-18Use ComPtr for geometric and graphic objects: brush, geometry, geometry sink,Neil1-80/+78
stroke style, bitmap, and gradients to remove explicit release calls and possible leaks. Ensure HPEN and HBRUSH initialised. Not converting render targets, text formats or text layouts yet.
2025-02-18Minor warnings silenced. No return value from void functions, catch theNeil1-7/+10
impossible exception, const some iterators.
2025-02-18Avoid type error from some compilers from returning braced values likeNeil1-16/+8
{ unicodeReplacementChar, 1 } instead of constructed objects. Declare named const values for 2 failure cases of CharacterExtracted. Remove some dead code.
2025-02-17Switch to using ComPtr from WRL for render target code for simplicity andNeil5-134/+74
familiarity.
2025-02-15Minor changes to reduce warnings from Clang-Tidy.Neil1-28/+21
2025-02-15Fix the previous change to prioritise breaking at style-change and spaces (whenNeil1-11/+16
specified) and only discard the last combined character when these fail.
2025-02-14For wrapping, try to break lines without separating letters from modifiers.Neil2-0/+8
There are still problems for languages like Javanese but it will improve most cases. Unicode proposal to improve line breaking: https://www.unicode.org/L2/L2022/22080r2-line-break-ortho-bnd.pdf
2025-02-14Implement LastCharacter to return the last character or character fragment in aNeil2-4/+27
potentially invalid UTF-8 string. Use this in DiscardLastCombinedCharacter. Place DiscardLastCombinedCharacter in Scintilla::Internal namespace for use in text wrap.
2025-02-14Feature [feature-requests:#1417]. Fix some UTF-8 segmentation bugs byNeil1-12/+14
prioritising Unicode-safe base character check over ASCII punctuation check and by treating emoji modifiers as modifiers instead of base characters. This is better for 1) Keycap emoji: *, VARIATION SELECTOR-16, COMBINING ENCLOSING KEYCAP 2) Emoji + skin tone: WAVING HAND SIGN, EMOJI MODIFIER FITZPATRICK TYPE-1-2
2025-02-12Debug tracing was accidentally turned on so turn it off again.Neil1-1/+1
2025-02-12Document SC_TECHNOLOGY_DIRECT_WRITE_1 and reformat technology choice as a table.Neil1-10/+49
2025-02-12Implement Direct2D/DirectWrite 1.1. Add SC_TECHNOLOGY_DIRECT_WRITE_1 to use anNeil8-49/+347
explicit swap chain and ID2D1DeviceContext. Stop supporting DirectWrite on Windows Vista.
2025-02-11Update Direct2D and DirectWrite functions and types to Direct2D 1.1.Neil4-14/+51
2025-02-10Use ID2D1HwndRenderTarget::Resize when handling WM_SIZE to avoid larger stateNeil1-1/+14
invalidation which may be more costly to restore.
2025-02-09Add RenderTargets to hold one render target at a time, either Hwnd or DC.Neil3-39/+74
Drawing code just needs one or the other but other calls need a particular type with casting hiding potential problems. This will be more important in the future when a third type of render target ID2D1DeviceContext will be added. Use unique_ptr more for render targets to ensure they are freed correctly.
2025-02-09Wrap GetClientRect so it can be used more easily to produce const result.Neil1-18/+21
Move GetSizeUFromRect earlier for possible new code.
2025-02-09Update Direct2D headers to Direct2D 1.1.Neil3-6/+6
Doesn't change functionality yet but ensures more recent APIs will be available.
2025-02-09Standardize DLL freeing.Neil1-15/+21
2025-02-07Add vertical scroll position into undo selection history unconditionally.Neil3-14/+21