gtk/gsk
Benjamin Otte 09882701c2 rendernode: Fix various places where clip was double applied
This is mostly untested and a result of reading the code.

The main effect here happens when a node was drawn that didn't start on
an integer boundary, which is very rare.
However, with specially crafted tests and when using fractional scaling,
this can happen.

This happened most often when clipping by the node bounds to restrict a
push_group() call. Enlarge that rectangle to fall on a pixel boundary.
2024-01-03 04:11:35 +01:00
..
broadway renderer: Remove offload argument from render() 2023-11-14 21:54:35 +01:00
gl gl: Remove old Cairo fallback drawing code 2023-12-26 17:28:08 +01:00
vulkan renderer: Remove offload argument from render() 2023-11-14 21:54:35 +01:00
gen-gsk-gresources-xml.py gsk: Move shader resources 2021-04-03 08:24:58 -04:00
gsk.h Add GskPathMeasure 2023-08-25 20:16:49 -04:00
gskboundingboxprivate.h Add gsk_bounding_box_get_corner 2023-09-16 21:57:31 -04:00
gskcairoblur.c Replace "gdouble" with "double" 2020-07-25 00:47:36 +02:00
gskcairoblurprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskcairorenderer.c renderer: Remove offload argument from render() 2023-11-14 21:54:35 +01:00
gskcairorenderer.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskcontour.c path: Make gsk_path_to_string() work in non-US locales 2023-12-28 07:35:46 +01:00
gskcontourprivate.h Drop tolerance from gsk_contour_foreach 2023-08-28 20:52:22 -04:00
gskcurve-ct-values.c curve: Reduce the order of our approximation 2023-08-26 10:23:02 -04:00
gskcurve.c gsk/gskcurve.c: Avoid returning value in void-retype function 2023-10-24 13:18:26 +08:00
gskcurveprivate.h Add gsk_curve_get_cusps 2023-09-17 00:23:53 -04:00
gskdebug.c gsk: Clarify debug category messages a bit 2023-12-26 17:28:08 +01:00
gskdebugprivate.h gsk: Repurpose GSK_DEBUG=cairo 2023-12-26 05:31:05 +01:00
gskdiff.c gsk: Stop using g_slice 2023-03-14 14:56:42 -04:00
gskdiffprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskenums.h Add Since annotations to enums 2023-12-22 08:47:47 -05:00
gskenumtypes.c.template types: fix various use of volatile in type registration 2020-11-18 20:21:33 -08:00
gskenumtypes.h.template Use @basename@ in enumeration type templates 2019-02-04 14:02:45 +01:00
gskglshader.c Remove G_ENABLE_DEBUG around debug checks 2023-11-05 11:16:23 +01:00
gskglshader.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskglshaderprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskoffload.c gsk: Some more rect inlining 2023-11-24 10:35:57 -05:00
gskoffloadprivate.h offload: Drop unused api 2023-11-18 08:19:43 -05:00
gskpath.c path: Split off gskpathparse.c 2023-09-17 12:29:46 -04:00
gskpath.h Change gsk_path_get_closest_point to return distance 2023-08-28 11:22:30 -04:00
gskpathbuilder.c Fix some static analysis warnings 2023-11-24 10:35:57 -05:00
gskpathbuilder.h pathbuilder: Add rel-variants for arc-to 2023-08-25 09:45:45 -04:00
gskpathmeasure.c measure: Cosmetics 2023-08-28 21:14:28 -04:00
gskpathmeasure.h Add GskPathMeasure 2023-08-25 20:16:49 -04:00
gskpathopprivate.h path: Switch back to conics 2023-08-25 07:33:16 -04:00
gskpathparser.c path: Fix parsing rounded rects 2023-09-17 17:01:44 -04:00
gskpathpoint.c docs: Add details 2023-09-15 16:31:09 -04:00
gskpathpoint.h Add a few annotations 2023-12-26 21:57:04 -05:00
gskpathpointprivate.h Improve precondition checks for path points 2023-08-28 00:07:50 -04:00
gskpathprivate.h Make gsk_path_builder_svg_arc_to public 2023-08-23 12:43:52 -04:00
gskpointprivate.h gsk: Add GskPath 2023-08-06 20:48:09 -04:00
gskprivate.c Drop an unused function 2022-07-15 15:47:11 -04:00
gskprivate.h vulkan: Add VulkanOp->next 2023-07-16 12:13:00 +02:00
gskprofiler.c Fix various bitfield warnings 2023-04-27 13:42:03 +02:00
gskprofilerprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskrectprivate.h gsk: Some more rect inlining 2023-11-24 10:35:57 -05:00
gskrenderer.c renderer: Move function into only caller 2023-12-20 10:59:25 +01:00
gskrenderer.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskrendererprivate.h renderer: Move function into only caller 2023-12-20 10:59:25 +01:00
gskrendernode.c Merge branch 'wip/otte/for-main' into 'main' 2023-12-27 22:15:05 +00:00
gskrendernode.h rendernode: Don't mark impure functions as pure 2023-12-26 05:03:24 +01:00
gskrendernodeimpl.c rendernode: Fix various places where clip was double applied 2024-01-03 04:11:35 +01:00
gskrendernodeparser.c nodeparser: Fix SEGV in shadows parsing code 2024-01-03 04:11:35 +01:00
gskrendernodeparserprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskrendernodeprivate.h Add a few annotations 2023-12-26 21:57:04 -05:00
gskroundedrect.c roundedrect: Fix an intersection cornercase 2023-12-28 07:35:46 +01:00
gskroundedrect.h gsk: Move GskRoundedRect typedef 2023-09-15 03:46:27 +02:00
gskroundedrectprivate.h vulkan: Try really hard to use clear 2023-07-16 13:16:41 +02:00
gskstroke.c stroke: Turn stroke copy intialization into a macro 2023-12-28 07:35:46 +01:00
gskstroke.h Add GskStroke 2023-08-07 13:02:57 -04:00
gskstrokeprivate.h stroke: Turn stroke copy intialization into a macro 2023-12-28 07:35:46 +01:00
gsktransform.c snapshot, gsktransform: Mention that rotation happens around (0, 0) 2023-08-25 15:54:05 +03:00
gsktransform.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gsktransformprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gsktypes.h gsk: Move GskRoundedRect typedef 2023-09-15 03:46:27 +02:00
meson.build gsk: Handle straight-alpha dmabufs 2023-12-15 07:40:27 -05:00