gtk/gsk
Georges Basile Stavracas Neto 496c8f4a11 gsk/vulkan/glyphcache: Rework glyphs
The current implementation of the glyph cache deals with atlases by
padding them with 1 pixel at the beginning, at the end, and between
each glyph.

That's cool and all, however, there's a very subtle problem with
this approach: the contents of the atlas are garbage, so this padding
is filled with garbage memory!

Rework the Vulkan glyph cache to draw each and every glyph in a
surface that has 1 pixel border of padding around it. Ensure the
surface is completely black by drawing a rectangle before handing
it to Pango to draw the glyph. Update tx and ty to pick the texture
position adjusted to the 1 pixel padding. The atlas now starts at
position (0, 0), since each glyph individually contains its own padding.

To improve legibility, add a PADDING define and use it everywhere.
2023-04-08 20:13:13 -03:00
..
broadway Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gl Make fractional scaling for GL opt-in 2023-04-02 11:05:57 -04:00
vulkan gsk/vulkan/glyphcache: Rework glyphs 2023-04-08 20:13:13 -03:00
gen-gsk-gresources-xml.py gsk: Move shader resources 2021-04-03 08:24:58 -04:00
gsk.h Convert headers to #pragma once 2023-03-31 15:11:10 -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 renderers: Handle large viewports 2022-02-26 20:35:44 +01:00
gskcairorenderer.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskdebug.c Rename gdk-private.h to gdkprivate.h 2022-09-23 23:23:27 -04:00
gskdebugprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04: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 Convert headers to #pragma once 2023-03-31 15:11:10 -04: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 Fix spelling errors 2022-11-17 22:49:45 -05: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
gskprivate.c Drop an unused function 2022-07-15 15:47:11 -04:00
gskprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskprofiler.c gsk: Stop using g_slice 2023-03-14 14:56:42 -04:00
gskprofilerprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskrenderer.c gsk: Use the new debug macros 2022-09-23 18:11:48 -04:00
gskrenderer.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskrendererprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskrendernode.c rendernode: Get rid of GskRenderNodeTypeInfo 2023-04-03 19:27:58 +02:00
gskrendernode.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskrendernodeimpl.c rendernode: Cosmetics 2023-04-03 19:27:58 +02:00
gskrendernodeparser.c rendernodeparser: Detect duplicates and print them by name 2023-03-29 03:53:52 +02:00
gskrendernodeparserprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskrendernodeprivate.h rendernode: Get rid of GskRenderNodeTypeInfo 2023-04-03 19:27:58 +02:00
gskroundedrect.c Add a doc comment for gsk_rounded_rect_is_circular 2021-06-04 09:49:05 -04:00
gskroundedrect.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gskroundedrectprivate.h Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
gsktransform.c Mark various GskTransform functions as nullable in their return value 2022-01-14 11:57:23 +02: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 Convert headers to #pragma once 2023-03-31 15:11:10 -04:00
meson.build Fix compile_resources present source directory 2023-03-07 21:59:50 +00:00