summaryrefslogtreecommitdiff
path: root/Userland/Applications/FontEditor/GlyphEditorWidget.cpp
AgeCommit message (Collapse)Author
2022-07-06FontEditor: Hide Widget::set_font() in GlyphEditorWidgetthankyouverycool
We were already doing the same for its getters, and this makes its API more consistent with GlyphMapWidget.
2022-07-06FontEditor: Update GML for new layout systemthankyouverycool
This patch removes deprecated GML properties and manual sizing calculations in favor of the new UIDimensions, and registers more widgets in the FontEditor namespace to simplify widget setup.
2022-04-09LibGfx: Move other font-related files to LibGfx/Font/Simon Wanner
2022-02-14Applications: Use default constructors/destructorsLenny Maiorani
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#cother-other-default-operation-rules "The compiler is more likely to get the default semantics right and you cannot implement these functions better than the compiler."
2022-01-16FontEditor: Remove unnecessary call during GlyphEditor initthankyouverycool
GlyphEditor's relative rect is automatically set during layout.
2022-01-09FontEditor: Support selection rangesMaciej
This makes editing much easier, e.g. you don't need longer to copy hundreds of glyphs one by one. It has some flaws, e.g. it's not integrated with undo stack, but we need to start with something!
2021-11-30FontEditor: Convert to east constthankyouverycool
2021-11-30LibGfx+FontEditor: Consolidate BitmapFont width and height limitsthankyouverycool
And make them more self-documenting. Previously these constraints were duplicated across multiple files.
2021-11-30FontEditor: Add scaled offset members to GlyphEditorthankyouverycool
Previously these were undescriptive globals making them a bit cryptic.
2021-11-30FontEditor: Account for glyph width when pastingthankyouverycool
Fixes glyphs not expanding up to their maximum width if necessary when pasting larger glyphs into smaller ones.
2021-11-30FontEditor: Convert mode and transform buttons into toolbar actionsthankyouverycool
This will let us more easily organize and assign shortcuts to new modes and transformations as they are built, and it generally looks more polished as a uniform interface. Also adds a counterclockwise option to the rotate action, moves Copy as Character to the edit menu as it doesn't directly impact GlyphEditor, and makes the paint and move modes exclusive checkables to make the editor's state more visually obvious.
2021-11-21FontEditor: Make glyph parsing more robustBen Wiederhake
In particular, we sanity-check the received width, height, and buffer size, before allocating.
2021-11-21LibGUI+Everywhere: Make sync requests to Clipboard server more obviousBen Wiederhake
2021-11-21FontEditor: Make paste access to Clipboard atomicBen Wiederhake
This avoids data race issues and saves three out of four synchronous requests to the ClipboardServer.
2021-11-20FontEditor: Set all pixels when pasting a glyphBen Wiederhake
For an empty glyph (all pixels initially clear), this makes no difference. However, if the glyph for the selected code point already contains some set pixels, pasting used to "add" the set pixels, instead of overwriting.
2021-11-20FontEditor: Support flipping and rotatingBen Wiederhake
This is especially useful for highly symmetric scripts like this: https://www.unicode.org/charts/PDF/U1400.pdf
2021-11-08LibCore: Use ErrorOr<T> for Core::File::open()Andreas Kling
2021-10-27Everywhere: Rename left/right-click to primary/secondaryFiliph Sandström
This resolves #10641.
2021-09-22FontEditor: Sanitize RTL and control glyphs in Clipboard metadatathankyouverycool
Fixes display issues in ClipboardHistory.
2021-09-22FontEditor: Set width to zero when deleting a glyphthankyouverycool
Previously, Delete left a glyph's width maximized.
2021-09-22FontEditor: Simplify initialization by disabling widget callbacksthankyouverycool
Reduces some complexity dealing with callback effects and fixes redundant calls to update_title and erroneously set glyph widths.
2021-09-19FontEditor: Update editor to handle new font formatthankyouverycool
The editor now unmasks fonts on load, mapping their glyphs to the complete unicode character set, and masks them upon saving to reduce disk space. This is a naive approach in terms of memory usage and can be improved but whose immediate goal is to allow editing any glyph without concern for range allocation.
2021-09-06Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safeAli Mohammad Pur
2021-08-27FontEditor: Save discrete undo and redo states for each Commandthankyouverycool
Makes undo/redo actions compatible with the updated UndoStack sans finalization. Fixes having to click actions twice.
2021-04-26FontEditor: Don't put invalid clicks on the undo stackthankyouverycool
2021-04-23LibGfx+FontEditor: Account for raw width when painting glyphsthankyouverycool
Fixes hidden glyphs being painted in editor and map, and '?' subsitute glyphs being overdrawn in the system.
2021-04-23FontEditor: Don't append literal Line Feeds to clipboard metadatathankyouverycool
Fixes newline breakage in ClipboardHistory when copying LF glyphs
2021-04-23FontEditor: Add move glyph toolthankyouverycool
When toggled on, glyphs can now be repositioned within the glyph editor by dragging the mouse
2021-04-23FontEditor: Add undo and redo commandsthankyouverycool
2021-04-23FontEditor: Add adjustable scaling to GlyphEditorWidgetthankyouverycool
The editor can now be adjusted under the View->Scale menu
2021-04-22Everything: Move to SPDX license identifiers in all files.Brian Gianforcaro
SPDX License Identifiers are a more compact / standardized way of representing file license information. See: https://spdx.dev/resources/use/#identifiers This was done with the `ambr` search and replace tool. ambr --no-parent-ignore --key-from-file --rep-from-file key.txt rep.txt *
2021-04-21FontEditor: Convert String::format() => String::formatted()Andreas Kling
2021-04-07FontEditor+ClipboardHistory: Use system-wide Clipboardthankyouverycool
Glyphs can now be copied between editors.
2021-04-06FontEditor: Convert to GML and add new edit commands to GlyphEditorthankyouverycool
Adds cut, copy, paste and delete to GlyphEditor. Font preview has moved to a separate resizable ToolWindow. Font metadata can now be hidden. FontEditor and glyph widgets can now be re-initialized instead of resetting window's main widget after loading new fonts.
2021-02-15LibGfx: Insert pixel and ttf fonts into Typeface structureStephan Unverwerth
This adds a new structure 'Typeface' to the FontDatabase that represents all fonts of the same family and variant. It can contain a list of BitmapFonts with varying size but of the same family and weight or a pointer to a single TTF font for all sizes of this Typeface.
2021-01-12Applications: Move to Userland/Applications/Andreas Kling