summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* path: Add GSK_CIRCLE_POINT_INIT() to initialize points on the circleBenjamin Otte2020-12-271-10/+8
| | | | This is just splitting out a commonly done operation into a macro.
* pathbuilder: Redo semantics for starting curvesBenjamin Otte2020-12-273-16/+84
| | | | | | | | | We now always have a "current point" which is either the last point an operation was made to, or (0, 0) if no drawing operation has been made yet. Adding a contour of any kind to the builder will always update the current point to that contour's end point.
* xxx: demoBenjamin Otte2020-12-271-0/+49
|
* path: Split GskPathBuilder into its own fileBenjamin Otte2020-12-279-568/+724
| | | | ... and add missing API docs.
* testsuite: Add a test using get_point() and get_closest_point()Benjamin Otte2020-12-271-0/+51
|
* testsuite: Add a test for get_point()Benjamin Otte2020-12-271-0/+50
|
* testsuite: Update create_random_path()Benjamin Otte2020-12-271-37/+228
| | | | | | | | | 1. Allow specifying the max number of contours 2. Be smarter about creating the paths: With 10% chance, create a "weird" path like the empty one or only points or things like that. Otherwise create a bunch of contours, with 2/3 a standard contour, with 1/3 a predetermined one.
* gtk-demo: Add cute maze demoBenjamin Otte2020-12-273-0/+340
|
* testsuite: Add tests for gsk_path_measure_get_closest_point()Benjamin Otte2020-12-271-0/+86
|
* path: Add gsk_path_measure_get_closest_point()Benjamin Otte2020-12-275-1/+457
| | | | | | | ... and gsk_path_measure_get_closest_point_full(). Those 2 functions allow finding the closest point on a path to a given point.
* spline: Use Skia's tolerance checksBenjamin Otte2020-12-272-5/+25
| | | | | This avoids measuring being too far off (it's still off, but it's less than a percent now.
* testsuite: Add tests for gsk_path_measure_add_segment()Benjamin Otte2020-12-271-0/+151
|
* gtk-demo: Add a text-on-path demoBenjamin Otte2020-12-274-0/+574
|
* xxx: path_fill demoBenjamin Otte2020-12-271-2/+74
|
* path: Add gsk_path_measure_get_point()Benjamin Otte2020-12-277-17/+308
| | | | | Allows querying the coordinates and direction of any specific point on a path.
* path: Add gsk_path_add_circle()Matthias Clasen2020-12-275-0/+425
| | | | Adds a circle contour, too.
* pathmeasure: Implement support for beziersBenjamin Otte2020-12-278-71/+462
| | | | | Instead of treating bezier curves as lines, we properly decompose them into line segments now so that we can treat those as lines.
* path: Implement gsk_path_to_cairo() using foreach()Benjamin Otte2020-12-272-62/+52
|
* path: Add gsk_path_foreach()Benjamin Otte2020-12-275-8/+148
|
* path: Collect flagsBenjamin Otte2020-12-271-1/+40
| | | | We don't need them yet, but maybe later.
* testsuite: Add path testsBenjamin Otte2020-12-272-0/+130
|
* pathmeasure: Add gsk_path_measure_add_segment()Benjamin Otte2020-12-275-3/+255
| | | | This allows chunking paths, weeee.
* path: Add gsk_path_builder_add_path()Benjamin Otte2020-12-274-8/+104
|
* gsk: Add GskPathMeasureBenjamin Otte2020-12-2710-5/+383
| | | | | An object to do measuring operations on paths - determining their length, cutting off subpaths, things like that.
* path: Change data structure for standard pathBenjamin Otte2020-12-271-113/+119
| | | | | | | | Instead of the Cairo method and imitating cairo_path_data_t, use the Skia method and keep points and operations separate. That way we get a points array that includes the starting point - because it's always the end point of the previous operation.
* popover: Use fill and stroke nodes instead of CairoBenjamin Otte2020-12-271-21/+40
| | | | | | ... to render the arrow. The arrow should really be turned into a real thing - maybe an icon?
* snapshot: Add gtk_snapshot_push_stroke()Benjamin Otte2020-12-273-0/+74
|
* gsk: Add GskStrokeNodeBenjamin Otte2020-12-278-4/+265
|
* gsk: Add GskStrokeBenjamin Otte2020-12-279-1/+450
| | | | It's unused in this commit. This just prepares the new object.
* demos: Add a simple demo filling a pathBenjamin Otte2020-12-273-0/+233
|
* snapshot: Add gtk_snapshot_push_fill()Benjamin Otte2020-12-273-0/+74
|
* gsk: Add GskFillNodeBenjamin Otte2020-12-279-0/+277
| | | | | Take a rendernode as source and a GskPath and fill the region in the path just like cairo_fill() would.
* gsk: Add GskPathBenjamin Otte2020-12-278-1/+1133
|
* mediafile: Load extension at startup with GTK_MEDIABenjamin Otte2020-12-271-0/+4
| | | | | | | | When the GTK_MEDIA env var is set, check at startup that it works, not only when the first MeidaFile is instantiated. This has the fortunate side effect that it prints help output for GTK_MEDIA=help at startup, too.
* gtk: Build as static library firstBenjamin Otte2020-12-271-3/+13
| | | | | | | This allows linking against the static libgtk from the testsuite. We build the dynamic library by linking all the static libraries into the final product.
* Merge branch 'unused-static-inline' into 'master'Benjamin Otte2020-12-251-180/+0
|\ | | | | | | | | Remove unused static inline function See merge request GNOME/gtk!3002
| * Remove unused static inline functionEmmanuel Gil Peyrot2020-12-251-180/+0
|/ | | | | | This was causing a warning on AArch64 since __LITTLE_ENDIAN__ and __BIG_ENDIAN__ weren’t set, but the functions were actually completely unused.
* Merge branch 'gles-gears' into 'master'Benjamin Otte2020-12-255-7/+7
|\ | | | | | | | | Fix gtk4-demo’s gears demo on OpenGL ES See merge request GNOME/gtk!3000
| * Fix some of gtk4-demo’s transitions example on OpenGL ESEmmanuel Gil Peyrot2020-12-254-4/+4
| | | | | | | | | | Same issue as the previous commit, int+float is error, and pow() only works on floats.
| * Fix gtk4-demo’s gears demo on OpenGL ESEmmanuel Gil Peyrot2020-12-251-3/+3
|/ | | | | | | | | | | Here is a command to reproduce this testcase: GDK_DEBUG=gl-gles gtk4-demo --run gears Without this patch, Mesa throws this compile error: 0:130(13): error: no matching function for call to `mod(error, float)'; candidates are: This is caused by `u_rotation - 90` being of type error since `u_rotation` is a float and it’s illegal to subtract it with an integer.
* Merge branch 'wip/otte/for-master' into 'master'Matthias Clasen2020-12-2419-198/+95
|\ | | | | | | | | Wip/otte/for master See merge request GNOME/gtk!2997
| * gdkarray: Add a "stolen" boolean to splice()Benjamin Otte2020-12-248-12/+15
| | | | | | | | | | | | | | If set to TRUE, does not call the free func for the removed items. This can be used to move items between arrays without having to do the refcounting dance.
| * listview: Use the correct scroll policyBenjamin Otte2020-12-241-2/+3
| | | | | | | | | | | | | | Use the horizontal policy for horizontal decisions, not the vertical one. This broke in 0011ce949c3580e02c4b2c3d83584a6c6e82090c.
| * docs: Put render nodes in their own sectionsBenjamin Otte2020-12-241-3/+24
| |
| * roundedbox: Remove unused APIBenjamin Otte2020-12-242-158/+0
| |
| * picture: Fix copy/paste error in docsBenjamin Otte2020-12-241-1/+1
| |
| * video: When autoplaying, start playing once the video is preparedBenjamin Otte2020-12-241-0/+5
| | | | | | | | | | This fixe video sources with longer loading times not automatically playing.
| * gtk-demo: Don't put the search bar in the scroll areaBenjamin Otte2020-12-241-22/+20
| | | | | | | | | | | | | | | | 1. That's a bad idea UI wise as you can't see the search after you scrolled. 2. That's a bad idea code-wise because Listviews need to be put into a ScrolledWindow or they won't scroll.
| * rendernode: Bail if matrix is invalidBenjamin Otte2020-12-244-0/+27
| | | | | | | | | | | | Invalid matrices are okay in GSK (and GL), but not in Cairo. Testcase included.
* | Update Punjabi translationA S Alam2020-12-231-3052/+4763
| |