Commit Graph

951 Commits

Author SHA1 Message Date
Crypto City
124b4c5697 add checked and value string ids 2025-08-07 06:16:58 +00:00
Crypto City
144dcc5efe add basic text-shadow support 2025-08-06 15:43:22 +00:00
Crypto City
1eca5ee967 add find_by_id element method 2025-08-06 14:42:10 +00:00
Crypto City
94d4566a48 new on_element_changed document_container virtual method
to allow redraw
2025-08-06 14:42:10 +00:00
Crypto City
f6c1f4a5b4 always build PIC 2025-08-06 05:41:01 +00:00
Cristian Adam
09fd84d4ff Allow building with Clang using MSVC ABI
The official LLVM build of Clang is using the MSVC ABI, and
if you are using clang.exe and not clang-cl.exe you get the
GNU command line interface.

CMake would not set the MSVC variable, but the CMAKE_CXX_SIMULATE_ID
as "MSVC". Since clang.exe is targeting the MSVC ABI it needs
the build support the MSVC has.
2025-07-30 13:22:14 +03:00
Yuri Kobets
35ecd69d05 tests update for list markers and baseline fix 2025-06-26 10:43:28 +03:00
Yuri Kobets
6288fca97f fix: incorrect position of the text of the list markers 2025-06-26 10:43:28 +03:00
Yuri Kobets
e668a6e8a6 fix: incorrect baseline calculation 2025-06-26 10:43:28 +03:00
Yuri Kobets
ec38e5854a added url::encode an url::decode functions 2025-06-09 23:27:24 +03:00
Yuri Kobets
985a231149 refactor: move draw_buffer sources into own directory 2025-06-09 23:27:24 +03:00
Yuri Kobets
487fe23c38 refactor: removed web_page dependency from draw_buffer class 2025-06-09 23:27:24 +03:00
Yuri Kobets
4bedf4b28a refactor: replace std::bind with lambda in litebrowser::web_page 2025-06-09 23:27:24 +03:00
Yuri Kobets
1d72655296 refactor: hash renamed to the fragment 2025-06-09 23:27:24 +03:00
Yuri Kobets
960d6113a3 Fix: url fragment is not processed correctly
Issue appears in these cases:
1. fragment contains spesial characters (quotes for example)
2. fragment starts with number
2025-06-09 23:27:24 +03:00
Yuri Kobets
79116da6ef Fix: removed css_calc.* files
These files are under development and should not be in master branch
yet. Fixes issue #409
2025-06-03 10:14:08 +03:00
Yuri Kobets
d0986f2b24 Conic gradient support for the container_cairo 2025-05-27 03:19:07 +03:00
Yuri Kobets
37bbcc6f18 Added documentation 2025-05-23 03:22:45 +03:00
Yuri Kobets
dc857e2702 update to the latest tests 2025-04-21 00:37:04 +03:00
Yuri Kobets
4ebe09f3c4 fix: reset formatting context for relevant blocks 2025-04-21 00:37:04 +03:00
Yuri Kobets
0f03825606 Added 'position:fixed' elements to the element::in_normal_flow as exclusion. 2025-04-21 00:37:04 +03:00
Yuri Kobets
4243738f28 fix: disable top/bottom margin collapse for elements with 'position:fixed' 2025-04-21 00:37:04 +03:00
Yuri Kobets
2d34cb9f09 fixed: elements with 'position:fixed' have issue with draw
* document_container::get_client_rect was renamed to get_viewport.
* updated draw_buffer class to handle fixed elements on scroll
2025-04-11 02:53:37 +03:00
Yuri Kobets
1274232171 Includes refactoring using clangd 2025-04-06 23:10:39 +03:00
Yuri Kobets
2a89d5ed4b web_page: fix urls without scheme 2025-04-06 02:54:14 +03:00
Yuri Kobets
a971024c13 fix: issue with border radius for inline elements calculating 2025-04-04 01:56:57 +03:00
Ollie
2af7d0d2a6 fix: Remove text-emphasis-style end space. 2025-04-02 23:11:03 +03:00
Ollie
e077b97780 fix: support text-emphasis all feature. 2025-04-02 23:11:03 +03:00
Ollie
770d55ca37 feat: support text-emphasis 2025-04-02 23:11:03 +03:00
Ollie
165bed42c0 feat: Implements element click event API in document_container. 2025-04-02 23:04:48 +03:00
Ollie
5300da52ab fix: set a default implement for on_image_click 2025-04-02 23:04:48 +03:00
Ollie
ffe1b229f0 feat: Implements image click event.
feat: Optimized click event logic.
2025-04-02 23:04:48 +03:00
solomon[credential]
171e03d7ac Optimizing remove_whitespace performance
fix #397
2025-04-02 17:11:55 +03:00
Yuri Kobets
d7d23e1284 update the litehtml-tests reference 2025-04-02 17:02:41 +03:00
Yuri Kobets
d6041ca537 Add litehtml support sources
Includes:
* GTKMM4 Widget
* Cairo Surface based draw buffer
* Multi-threaded web_page class based on container_cairo_pango
2025-04-02 02:44:35 +03:00
Yuri Kobets
36b39f8692 add intersect and operator== into the litehtml::position 2025-04-01 03:34:52 +03:00
Yuri Kobets
c33894eab4 fix: std::array is not defined in container_cairo_pango.cpp 2025-03-30 03:34:51 +03:00
Yuri Kobets
c214c27d2c Destroy cairo_surface_t in container_cairo::draw_list_marker 2025-03-28 04:58:18 +03:00
Yuri Kobets
5d9f1994a0 Return string css properties as reference
Returning string by value causes read-after-free error.
2025-03-28 04:58:18 +03:00
Yuri Kobets
23751c1421 Support for text-decoration CSS properties
Supported properties:
* text-decoration (as shorthand for other text-decoration properties)
* text-decoration-color
* text-decoration-line
* text-decoration-style
* text-decoration-thickness

Changes in the container::create_font:
```litehtml::uint_ptr create_font(const font_description& descr, const document* doc, litehtml::font_metrics* fm);```

All font parameters are moved to the ```font_description``` structure.
2025-03-12 23:09:56 +03:00
Ollie
c7e2308c45 fix: text decoration support inherit 2025-03-12 23:09:56 +03:00
Yuri Kobets
65128c39b3
Updated inline layout rendering (#389)
* Added subscripts/superscripts baseline shift to the font_metrics
* Improved rendering of inline elements with top and bottom vertical align
* Improved rendering of the line-height property
2025-03-07 17:30:32 +03:00
Nikita Baryshnikov
baad157e3f cmake fix warning in gumbo
CMake Deprecation Warning at src/gumbo/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.
2025-02-15 06:53:00 +03:00
Grigory Kirillov
26d7b7ec71 update to gumbo-parser 0.12.3 2024-12-23 13:46:17 +03:00
Judd Cohen
0ee1967cf3 Add support for the "appearance" CSS property. Because litehtml itself does not implement input widgets, this is simply a passthrough value to allow applications implementing input support to handle the property.
Reference: https://www.w3.org/TR/css-ui-4/#appearance-switching
2024-10-21 00:38:43 +03:00
Yuri Kobets
b756c9e28a fixed: copy-paste bug in element.h #366 2024-10-13 03:42:26 +03:00
Yuri Kobets
20b3fc6c00 Added include <algorithm> to types.h to fix build error on Windows 2024-10-09 22:32:58 +03:00
Yuri Kobets
e9b9b4cb0f update tests commit id 2024-10-05 15:22:42 +03:00
Yuri Kobets
3e533ee157 fixed: positioning of elements with position absolute and fixed 2024-10-05 15:22:42 +03:00
Yuri Kobets
33f12ff153 render2png: Apply render settings from <file>.cfg file
The following settings can be applied:
width - force width to draw
height - force height to draw
bestfit - (true or false) Use false to disable "best fit" feature
2024-10-05 15:22:42 +03:00