| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Drawing shadows is the same task as drawing text in our case and these
two shaders have been the same thing for quite a while.
|
|
|
|
| |
Stop abusing the clip rect for borders.
|
| |
|
|
|
|
| |
It only handles OpenGL shaders.
|
|
|
|
|
| |
We need to draw them upscaled, of course. This fixes button hover (or,
more generally, crossfade nodes) in hidpi setups.
|
| |
|
| |
|
|
|
|
|
|
| |
And then clip the texture using the current (maybe also rounded) clip.
This way, the result is correct. We don't necessarily have to do the
offscreen drawing in any case, but got the safe route for now.
|
|
|
|
|
| |
Temporarily switch to the texture's gl context, download the texture and
create a new one in our context for it.
|
|
|
|
|
|
|
| |
Put GdkGLTexture into its own file and rename the API to
gdk_gl_texture_foo() instead of gdk_texture_foo_for_gl().
Apart from naming, no actual code changes.
|
|
|
|
|
|
| |
An alternative GskTextNode constructor that does no text measuring. That
way, we can measure the text before and check if the node will be
outside of the current clip anyway.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Otherwise, the radius here ends up being 0 and we don't draw anything at
all.
|
|
|
|
|
| |
Otherwise, the resulting node will be too small and the result looks
clipped.
|
|
|
|
| |
Fixes a rather large memleak.
|
|
|
|
|
| |
This fixes blurry checkbutton marks in hidpi setups, but breaks button
hover effects. That's another problem.
|
| |
|
|
|
|
| |
This way we pick up changes in the GdkWindow's scale_factor.
|
|
|
|
|
|
|
| |
Remove all the old 2.x and 3.x version annotations.
GTK+ 4 is a new start, and from the perspective of a
GTK+ 4 developer all these APIs have been around since
the beginning.
|
|
|
|
| |
This may be useful for applications using render nodes.
|
|
|
|
|
| |
This is a leftover from when GskTexture was moved
to gdk.
|
|
|
|
|
| |
This together with the optimizations in GtkSnapshot was causing circular
buttons to become squared when partially scrolled out of view.
|
|
|
|
|
| |
Get rid of the manual y flipping and cairo business. This keeps the gl
unit tests working at least.
|
|
|
|
|
|
|
|
| |
This happens when deserializing testcases and it really confuses
valgrind into thinking we're longjmp()ing.
And deserializing rendernodes is slow anyway, so who cares about a few
more malloc()s.
|
|
|
|
|
| |
This makes multiple consecutive render_texture calls on the same
renderer work.
|
|
|
|
|
| |
Just like we reset the scissor test and the viewport, we also can't use
the current clip anymore in this case.
|
|
|
|
|
| |
GskRoundedRect does not have a .rect member, it's 'bounds'. Also,
properly initialize all fields, i.e. all the corners.
|
|
|
|
|
|
| |
We can't just unconditionally create a larger texture here, since the
incoming cairo surface might have a device scale that doesn't fit our
scale_factor. Instead, look up the surface device scale and use that.
|
|
|
|
|
| |
In add_offscreen_ops, we use the max_x/min_x values for the texture and
viewport width, and the max_y/min_y for the texture and viewport height.
|
|
|
|
| |
This fixes hidpi blurred outset shadows
|
|
|
|
|
|
| |
We shouldn't apply the shadow offset when drawing the child offscreen,
instead apply it afterwards when we draw it to the current render
target.
|
|
|
|
|
| |
These come from an FBO so we need to flip the texture coords on the y
axis, just like we do everywhere else.
|
|
|
|
| |
We may get a NULL renderer here.
|
|
|
|
|
| |
These textures already have a GL texture in them,
no need to create a new one.
|
|
|
|
| |
We don't need to draw anything to a texure for those.
|
|
|
|
|
| |
A version of 29f36fed085d51bad16ec0e3f7ba5085bf9f82e8 but for the blur
we use in gsk.
|
|
|
|
|
| |
We need to set the global flags, since these are picked
up initially by new renderers.
|
|
|
|
|
| |
Get rid of GSK_RENDERING_MODE and add the flags to GSK_DEBUG,
following the same pattern we use in gdk now.
|
|
|
|
|
|
|
| |
Add a setter for per-renderer debug flags, and use
them where possible. Some places don't have easy access
to a renderer, so this is not complete.
Also, use g_message instead of g_print throughout.
|
|
|
|
| |
We are not logging anything for transforms or rendernodes atm.
|
|
|
|
| |
We are printing a window type, not a display.
|
| |
|
|
|
|
| |
Remove uniform initializers, add casts to float, etc.
|
| |
|
| |
|
| |
|
|
|
|
| |
Following what was already done for GL.
|