gtk4 4.2.1 → 4.2.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,474 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <gresources>
3
+ <gresource prefix="/">
4
+ </gresource>
5
+ <gresource prefix="/ui">
6
+ <file preprocess="xml-stripblanks">main.ui</file>
7
+ <file preprocess="xml-stripblanks">main-listitem.ui</file>
8
+ </gresource>
9
+ <!--
10
+ <gresource prefix="/application_demo">
11
+ <file>application.c</file>
12
+ <file>application.ui</file>
13
+ <file>menus.ui</file>
14
+ </gresource>
15
+ <gresource prefix="/builder">
16
+ <file>demo.ui</file>
17
+ </gresource>
18
+ <gresource prefix="/clipboard">
19
+ <file>clipboard.ui</file>
20
+ <file>demoimage.c</file>
21
+ <file>demoimage.h</file>
22
+ </gresource>
23
+ <gresource prefix="/constraints_builder">
24
+ <file>constraints_builder.ui</file>
25
+ </gresource>
26
+ <gresource prefix="/css_accordion">
27
+ <file>css_accordion.css</file>
28
+ </gresource>
29
+ <gresource prefix="/css_basics">
30
+ <file>css_basics.css</file>
31
+ <file>reset.css</file>
32
+ </gresource>
33
+ <gresource prefix="/css_blendmodes">
34
+ <file>css_blendmodes.css</file>
35
+ <file>blendmodes.ui</file>
36
+ <file>blends.png</file>
37
+ <file>ducky.png</file>
38
+ <file>cmy.jpg</file>
39
+ </gresource>
40
+ <gresource prefix="/css_multiplebgs">
41
+ <file>css_multiplebgs.css</file>
42
+ <file>brick.png</file>
43
+ <file>brick2.png</file>
44
+ <file>cssview.css</file>
45
+ <file>reset.css</file>
46
+ </gresource>
47
+ <gresource prefix="/listview_selections">
48
+ <file>suggestionentry.h</file>
49
+ <file>suggestionentry.c</file>
50
+ <file>suggestionentry.css</file>
51
+ </gresource>
52
+ <gresource prefix="/theming_style_classes">
53
+ <file>theming.ui</file>
54
+ </gresource>
55
+ <gresource prefix="/themes">
56
+ <file>themes.ui</file>
57
+ </gresource>
58
+ <gresource prefix="/css_pixbufs">
59
+ <file alias="gtk.css">css_pixbufs.css</file>
60
+ <file>cssview.css</file>
61
+ <file>reset.css</file>
62
+ <file>background.jpg</file>
63
+ </gresource>
64
+ <gresource prefix="/css_pixbufs/images">
65
+ <file>apple-red.png</file>
66
+ <file>gnome-applets.png</file>
67
+ <file>gnome-calendar.png</file>
68
+ <file>gnome-foot.png</file>
69
+ <file>gnome-gmush.png</file>
70
+ <file>gnome-gimp.png</file>
71
+ <file>gnome-gsame.png</file>
72
+ <file>gnu-keys.png</file>
73
+ </gresource>
74
+ <gresource prefix="/css_shadows">
75
+ <file alias="gtk.css">css_shadows.css</file>
76
+ <file>cssview.css</file>
77
+ <file>reset.css</file>
78
+ </gresource>
79
+ <gresource prefix="/cursors">
80
+ <file>cursors.ui</file>
81
+ </gresource>
82
+ <gresource prefix="/cursors/images">
83
+ <file>alias_cursor.png</file>
84
+ <file>all_scroll_cursor.png</file>
85
+ <file>cell_cursor.png</file>
86
+ <file>col_resize_cursor.png</file>
87
+ <file>context_menu_cursor.png</file>
88
+ <file>copy_cursor.png</file>
89
+ <file>crosshair_cursor.png</file>
90
+ <file>default_cursor.png</file>
91
+ <file>e_resize_cursor.png</file>
92
+ <file>ew_resize_cursor.png</file>
93
+ <file>gtk_logo_cursor.png</file>
94
+ <file>grabbing_cursor.png</file>
95
+ <file>grab_cursor.png</file>
96
+ <file>hand_cursor.png</file>
97
+ <file>help_cursor.png</file>
98
+ <file>move_cursor.png</file>
99
+ <file>ne_resize_cursor.png</file>
100
+ <file>nesw_resize_cursor.png</file>
101
+ <file>no_drop_cursor.png</file>
102
+ <file>none_cursor.png</file>
103
+ <file>not_allowed_cursor.png</file>
104
+ <file>n_resize_cursor.png</file>
105
+ <file>ns_resize_cursor.png</file>
106
+ <file>nw_resize_cursor.png</file>
107
+ <file>nwse_resize_cursor.png</file>
108
+ <file>pointer_cursor.png</file>
109
+ <file>progress_cursor.png</file>
110
+ <file>row_resize_cursor.png</file>
111
+ <file>se_resize_cursor.png</file>
112
+ <file>s_resize_cursor.png</file>
113
+ <file>sw_resize_cursor.png</file>
114
+ <file>text_cursor.png</file>
115
+ <file>vertical_text_cursor.png</file>
116
+ <file>wait_cursor.png</file>
117
+ <file>w_resize_cursor.png</file>
118
+ <file>zoom_in_cursor.png</file>
119
+ <file>zoom_out_cursor.png</file>
120
+ <file>gtk-logo.svg</file>
121
+ </gresource>
122
+ <gresource prefix="/dnd">
123
+ <file>dnd.css</file>
124
+ </gresource>
125
+ <gresource prefix="/errorstates">
126
+ <file>errorstates.ui</file>
127
+ </gresource>
128
+ <gresource prefix="/fishbowl">
129
+ <file>fishbowl.ui</file>
130
+ <file>gtkfishbowl.c</file>
131
+ <file>gtkfishbowl.h</file>
132
+ <file>tiger.node</file>
133
+ </gresource>
134
+ <gresource prefix="/frames">
135
+ <file>frames.ui</file>
136
+ </gresource>
137
+ <gresource prefix="/gears">
138
+ <file>gtkgears.c</file>
139
+ <file>gtkgears.h</file>
140
+ </gresource>
141
+ <gresource prefix="/shadertoy">
142
+ <file>gtkshadertoy.c</file>
143
+ <file>gtkshadertoy.h</file>
144
+ <file>alienplanet.glsl</file>
145
+ <file>mandelbrot.glsl</file>
146
+ <file>neon.glsl</file>
147
+ <file>cogs.glsl</file>
148
+ <file>glowingstars.glsl</file>
149
+ </gresource>
150
+ <gresource prefix="/gltransition">
151
+ <file>gtkshaderstack.c</file>
152
+ <file>gtkshaderstack.h</file>
153
+ <file>gtkshaderbin.h</file>
154
+ <file>gtkshaderbin.c</file>
155
+ <file>gskshaderpaintable.h</file>
156
+ <file>gskshaderpaintable.c</file>
157
+ <file>wind.glsl</file>
158
+ <file>radial.glsl</file>
159
+ <file>crosswarp.glsl</file>
160
+ <file>kaleidoscope.glsl</file>
161
+ <file>cogs2.glsl</file>
162
+ <file>ripple.glsl</file>
163
+ <file>background.glsl</file>
164
+ </gresource>
165
+ <gresource prefix="/iconscroll">
166
+ <file>iconscroll.ui</file>
167
+ </gresource>
168
+ <gresource prefix="/iconview">
169
+ <file>gnome-fs-directory.png</file>
170
+ <file>gnome-fs-regular.png</file>
171
+ </gresource>
172
+ <gresource prefix="/layoutmanager">
173
+ <file>demolayout.h</file>
174
+ <file>demolayout.c</file>
175
+ <file>demowidget.h</file>
176
+ <file>demowidget.c</file>
177
+ <file>demochild.h</file>
178
+ <file>demochild.c</file>
179
+ </gresource>
180
+ <gresource prefix="/layoutmanager2">
181
+ <file>demo2layout.h</file>
182
+ <file>demo2layout.c</file>
183
+ <file>demo2widget.h</file>
184
+ <file>demo2widget.c</file>
185
+ <file>four_point_transform.h</file>
186
+ <file>four_point_transform.c</file>
187
+ <file>singular_value_decomposition.h</file>
188
+ <file>singular_value_decomposition.c</file>
189
+ </gresource>
190
+ <gresource prefix="/listview_filebrowser">
191
+ <file>listview_filebrowser.ui</file>
192
+ <file>listview_filebrowser.css</file>
193
+ </gresource>
194
+ <gresource prefix="/listview_minesweeper">
195
+ <file>listview_minesweeper.ui</file>
196
+ <file>listview_minesweeper_cell.ui</file>
197
+ </gresource>
198
+ <gresource prefix="/listview_settings">
199
+ <file>listview_settings.ui</file>
200
+ </gresource>
201
+ <gresource prefix="/listview_settings2">
202
+ <file>listview_settings2.ui</file>
203
+ </gresource>
204
+ <gresource prefix="/listview_ucd_data/">
205
+ <file>ucdnames.data</file>
206
+ </gresource>
207
+ <gresource prefix="/listview_weather">
208
+ <file compressed="true">listview_weather.txt</file>
209
+ </gresource>
210
+ <gresource prefix="/listview_colors">
211
+ <file compressed="true">color.names.txt</file>
212
+ <file>listview_colors.css</file>
213
+ </gresource>
214
+ <gresource prefix="/main">
215
+ <file>fontify.c</file>
216
+ <file>fontify.h</file>
217
+ <file>main.ui</file>
218
+ </gresource>
219
+ <gresource prefix="/menu">
220
+ <file>demo3widget.c</file>
221
+ <file>demo3widget.h</file>
222
+ <file>demo3widget.ui</file>
223
+ </gresource>
224
+ <gresource prefix="/mask">
225
+ <file>demo4widget.c</file>
226
+ <file>demo4widget.h</file>
227
+ <file>hsla.h</file>
228
+ <file>hsla.c</file>
229
+ </gresource>
230
+ <gresource prefix="/paintable_svg">
231
+ <file>svgpaintable.h</file>
232
+ <file>svgpaintable.c</file>
233
+ <file>org.gtk.gtk4.NodeEditor.Devel.svg</file>
234
+ </gresource>
235
+ <gresource prefix="/shortcuts">
236
+ <file>shortcuts.ui</file>
237
+ <file>shortcuts-builder.ui</file>
238
+ <file>shortcuts-gedit.ui</file>
239
+ <file>shortcuts-clocks.ui</file>
240
+ <file>shortcuts-boxes.ui</file>
241
+ </gresource>
242
+ <gresource prefix="/sliding_puzzle">
243
+ <file>puzzlepiece.c</file>
244
+ <file>puzzlepiece.h</file>
245
+ <file>portland-rose.jpg</file>
246
+ </gresource>
247
+ <gresource prefix="/stack">
248
+ <file>stack.ui</file>
249
+ </gresource>
250
+ <gresource prefix="/revealer">
251
+ <file>revealer.ui</file>
252
+ </gresource>
253
+ <gresource prefix="/images">
254
+ <file>pixbufpaintable.h</file>
255
+ <file>pixbufpaintable.c</file>
256
+ <file>alphatest.png</file>
257
+ <file>floppybuddy.gif</file>
258
+ <file>gtk-logo.webm</file>
259
+ <file alias="org.gtk.Demo4.svg">data/scalable/apps/org.gtk.Demo4.svg</file>
260
+ </gresource>
261
+ <gresource prefix="/video-player">
262
+ <file>bbb.png</file>
263
+ </gresource>
264
+ <gresource prefix="/sources">
265
+ <file>application_demo.c</file>
266
+ <file>assistant.c</file>
267
+ <file>builder.c</file>
268
+ <file>clipboard.c</file>
269
+ <file>combobox.c</file>
270
+ <file>constraints.c</file>
271
+ <file>constraints_interactive.c</file>
272
+ <file>constraints_vfl.c</file>
273
+ <file>constraints_builder.c</file>
274
+ <file>css_accordion.c</file>
275
+ <file>css_basics.c</file>
276
+ <file>css_blendmodes.c</file>
277
+ <file>css_multiplebgs.c</file>
278
+ <file>css_pixbufs.c</file>
279
+ <file>css_shadows.c</file>
280
+ <file>cursors.c</file>
281
+ <file>dialog.c</file>
282
+ <file>drawingarea.c</file>
283
+ <file>dnd.c</file>
284
+ <file>editable_cells.c</file>
285
+ <file>entry_completion.c</file>
286
+ <file>entry_undo.c</file>
287
+ <file>errorstates.c</file>
288
+ <file>expander.c</file>
289
+ <file>filtermodel.c</file>
290
+ <file>fishbowl.c</file>
291
+ <file>fixed.c</file>
292
+ <file>flowbox.c</file>
293
+ <file>frames.c</file>
294
+ <file>font_features.c</file>
295
+ <file>fontplane.c</file>
296
+ <file>fontrendering.c</file>
297
+ <file>gears.c</file>
298
+ <file>gestures.c</file>
299
+ <file>glarea.c</file>
300
+ <file>gltransition.c</file>
301
+ <file>headerbar.c</file>
302
+ <file>hypertext.c</file>
303
+ <file>iconscroll.c</file>
304
+ <file>iconview.c</file>
305
+ <file>iconview_edit.c</file>
306
+ <file>image_scaling.c</file>
307
+ <file>images.c</file>
308
+ <file>infobar.c</file>
309
+ <file>layoutmanager.c</file>
310
+ <file>layoutmanager2.c</file>
311
+ <file>links.c</file>
312
+ <file>listbox.c</file>
313
+ <file>listbox_controls.c</file>
314
+ <file>listview_applauncher.c</file>
315
+ <file>listview_colors.c</file>
316
+ <file>listview_clocks.c</file>
317
+ <file>listview_filebrowser.c</file>
318
+ <file>listview_minesweeper.c</file>
319
+ <file>listview_selections.c</file>
320
+ <file>listview_settings.c</file>
321
+ <file>listview_settings2.c</file>
322
+ <file>listview_ucd.c</file>
323
+ <file>listview_weather.c</file>
324
+ <file>listview_words.c</file>
325
+ <file>list_store.c</file>
326
+ <file>main.c</file>
327
+ <file>markup.c</file>
328
+ <file>mask.c</file>
329
+ <file>overlay.c</file>
330
+ <file>overlay_decorative.c</file>
331
+ <file>paint.c</file>
332
+ <file>pagesetup.c</file>
333
+ <file>paintable.c</file>
334
+ <file>paintable_animated.c</file>
335
+ <file>paintable_emblem.c</file>
336
+ <file>paintable_mediastream.c</file>
337
+ <file>paintable_svg.c</file>
338
+ <file>paintable_symbolic.c</file>
339
+ <file>panes.c</file>
340
+ <file>password_entry.c</file>
341
+ <file>path_fill.c</file>
342
+ <file>path_maze.c</file>
343
+ <file>path_spinner.c</file>
344
+ <file>path_walk.c</file>
345
+ <file>path_text.c</file>
346
+ <file>peg_solitaire.c</file>
347
+ <file>pickers.c</file>
348
+ <file>printing.c</file>
349
+ <file>revealer.c</file>
350
+ <file>read_more.c</file>
351
+ <file>rotated_text.c</file>
352
+ <file>scale.c</file>
353
+ <file>search_entry.c</file>
354
+ <file>search_entry2.c</file>
355
+ <file>shadertoy.c</file>
356
+ <file>shortcuts.c</file>
357
+ <file>shortcut_triggers.c</file>
358
+ <file>sizegroup.c</file>
359
+ <file>sidebar.c</file>
360
+ <file>sliding_puzzle.c</file>
361
+ <file>stack.c</file>
362
+ <file>spinbutton.c</file>
363
+ <file>spinner.c</file>
364
+ <file>tabs.c</file>
365
+ <file>tagged_entry.c</file>
366
+ <file>textundo.c</file>
367
+ <file>textview.c</file>
368
+ <file>textscroll.c</file>
369
+ <file>theming_style_classes.c</file>
370
+ <file>themes.c</file>
371
+ <file>transparent.c</file>
372
+ <file>tree_store.c</file>
373
+ <file>textmask.c</file>
374
+ <file>video_player.c</file>
375
+ </gresource>
376
+ <gresource prefix="/textview">
377
+ <file>floppybuddy.gif</file>
378
+ </gresource>
379
+ <gresource prefix="/tagged_entry">
380
+ <file>tagstyle.css</file>
381
+ </gresource>
382
+ <gresource prefix="/listbox">
383
+ <file>listbox.ui</file>
384
+ <file>messages.txt</file>
385
+ <file>apple-red.png</file>
386
+ </gresource>
387
+ <gresource prefix="/listbox_controls">
388
+ <file>listbox_controls.ui</file>
389
+ </gresource>
390
+ -->
391
+ <gresource prefix="/glarea">
392
+ <file>glarea-gl.fs.glsl</file>
393
+ <file>glarea-gl.vs.glsl</file>
394
+ <file>glarea-gles.fs.glsl</file>
395
+ <file>glarea-gles.vs.glsl</file>
396
+ </gresource>
397
+ <!--
398
+ <gresource prefix="/font_features">
399
+ <file>font_features.ui</file>
400
+ <file>fontplane.c</file>
401
+ </gresource>
402
+ <gresource prefix="/spinbutton">
403
+ <file>spinbutton.ui</file>
404
+ </gresource>
405
+ <gresource prefix="/filtermodel">
406
+ <file>filtermodel.ui</file>
407
+ </gresource>
408
+ <gresource prefix="/overlay2">
409
+ <file>decor1.png</file>
410
+ <file>decor2.png</file>
411
+ </gresource>
412
+ <gresource prefix="/transparent">
413
+ <file>portland-rose.jpg</file>
414
+ <file>bluroverlay.h</file>
415
+ <file>bluroverlay.c</file>
416
+ </gresource>
417
+ <gresource prefix="/markup">
418
+ <file>markup.txt</file>
419
+ </gresource>
420
+ <gresource prefix="/scale">
421
+ <file>scale.ui</file>
422
+ </gresource>
423
+ <gresource prefix="/tagged_entry">
424
+ <file>demotaggedentry.c</file>
425
+ <file>demotaggedentry.h</file>
426
+ </gresource>
427
+ <gresource prefix="/fixed">
428
+ <file>fixed.css</file>
429
+ </gresource>
430
+ <gresource prefix="/fontrendering">
431
+ <file>fontrendering.ui</file>
432
+ </gresource>
433
+ <gresource prefix="/path_walk">
434
+ <file>path_walk.ui</file>
435
+ <file compressed="true">path_world.txt</file>
436
+ </gresource>
437
+ <gresource prefix="/path_text">
438
+ <file>path_text.ui</file>
439
+ </gresource>
440
+ -->
441
+ <gresource prefix="/org/gtk/Demo4">
442
+ <!--
443
+ <file>icons/16x16/actions/application-exit.png</file>
444
+ <file>icons/16x16/actions/document-new.png</file>
445
+ <file>icons/16x16/actions/document-open.png</file>
446
+ <file>icons/16x16/actions/document-save.png</file>
447
+ <file>icons/16x16/actions/edit-copy.png</file>
448
+ <file>icons/16x16/actions/edit-cut.png</file>
449
+ <file>icons/16x16/actions/edit-paste.png</file>
450
+ <file>icons/16x16/actions/process-stop.png</file>
451
+ <file>icons/16x16/actions/go-home.png</file>
452
+ <file>icons/16x16/actions/go-up.png</file>
453
+ <file>icons/16x16/actions/mail-send-receive-symbolic.symbolic.png</file>
454
+ <file>icons/16x16/actions/view-fullscreen-symbolic.symbolic.png</file>
455
+ <file>icons/16x16/actions/document-edit-symbolic.symbolic.png</file>
456
+ <file>icons/16x16/emotes/face-cool.png</file>
457
+ <file>icons/16x16/emotes/face-laugh-symbolic.symbolic.png</file>
458
+ <file>icons/16x16/status/battery-caution-charging-symbolic.symbolic.png</file>
459
+ <file>icons/16x16/categories/applications-other.png</file>
460
+ <file>icons/48x48/status/starred.png</file>
461
+ -->
462
+ <file alias="icons/scalable/apps/org.gtk.Demo4.svg">data/scalable/apps/org.gtk.Demo4.svg</file>
463
+ <!--
464
+ <file>portland-rose-thumbnail.png</file>
465
+ <file>large-image-thumbnail.png</file>
466
+ <file compressed="true">large-image.png</file>
467
+ -->
468
+ </gresource>
469
+ <!--
470
+ <gresource prefix="/org/gtk/Demo4/gtk">
471
+ <file preprocess="xml-stripblanks">help-overlay.ui</file>
472
+ </gresource>
473
+ -->
474
+ </gresources>
@@ -0,0 +1,82 @@
1
+ # Copyright (C) 2024 Ruby-GNOME Project Team
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ # Original:
18
+ # https://gitlab.gnome.org/GNOME/gtk/-/blob/main/demos/gtk-demo/main.c
19
+ #
20
+ # See the following for license information:
21
+ # * https://gitlab.gnome.org/GNOME/gtk/-/blob/main/AUTHORS
22
+ # * https://gitlab.gnome.org/GNOME/gtk/-/blob/main/COPYING
23
+
24
+ # We need to use "GtkDemo" as type name because "menu-listitem.ui"
25
+ # uses "GtkDemo" as type name.
26
+ class GtkDemo < GLib::Object
27
+ @demos = []
28
+ class << self
29
+ def register(demo)
30
+ @demos << demo
31
+ end
32
+
33
+ def all
34
+ @demos
35
+ end
36
+
37
+ def each(&block)
38
+ @demos.each do |demo|
39
+ each_recursive(demo, &block)
40
+ end
41
+ end
42
+
43
+ private
44
+ def each_recursive(demo, &block)
45
+ yield(demo)
46
+ demo.children.each do |child_demo|
47
+ each_recursive(child_demo, &block)
48
+ end
49
+ end
50
+ end
51
+
52
+ type_register
53
+
54
+ install_property(GLib::Param::String.new("name", nil, nil, nil, :readable))
55
+ attr_reader :name
56
+
57
+ install_property(GLib::Param::String.new("title", nil, nil, nil, :readable))
58
+ attr_reader :title
59
+
60
+ install_property(GLib::Param::String.new("keywords", nil, nil, nil, :readable))
61
+ attr_reader :keywords
62
+
63
+ install_property(GLib::Param::String.new("filename", nil, nil, nil, :readable))
64
+ attr_reader :filename
65
+
66
+ attr_reader :description
67
+ attr_accessor :children_model
68
+
69
+ def initialize(filename, title, description, keywords)
70
+ super()
71
+ @name = File.basename(filename, ".rb")
72
+ @title = title
73
+ @description = description
74
+ @keywords = keywords
75
+ @filename = filename
76
+ @children_model = nil
77
+ end
78
+
79
+ def run(parent)
80
+ raise NotImplemented
81
+ end
82
+ end
@@ -0,0 +1,9 @@
1
+ #version 330
2
+
3
+ out vec4 outputColor;
4
+
5
+ void main() {
6
+ float lerpVal = gl_FragCoord.y / 500.0f;
7
+
8
+ outputColor = mix(vec4(1.0f, 0.85f, 0.35f, 1.0f), vec4(0.2f, 0.2f, 0.2f, 1.0f), lerpVal);
9
+ }
@@ -0,0 +1,8 @@
1
+ #version 330
2
+
3
+ layout(location = 0) in vec4 position;
4
+ uniform mat4 mvp;
5
+
6
+ void main() {
7
+ gl_Position = mvp * position;
8
+ }
@@ -0,0 +1,7 @@
1
+ precision highp float;
2
+
3
+ void main() {
4
+ float lerpVal = gl_FragCoord.y / 500.0;
5
+
6
+ gl_FragColor = mix(vec4(1.0, 0.85, 0.35, 1.0), vec4(0.2, 0.2, 0.2, 1.0), lerpVal);
7
+ }
@@ -0,0 +1,7 @@
1
+ attribute vec4 position;
2
+
3
+ uniform mat4 mvp;
4
+
5
+ void main() {
6
+ gl_Position = mvp * position;
7
+ }