Add gtk61

This commit is contained in:
daleclack 2021-04-08 18:01:53 +08:00
parent 8d18a04885
commit f0637623db
11 changed files with 803 additions and 0 deletions

View File

@ -0,0 +1,63 @@
{
"configurations": [
{
"name": "Linux",
"includePath": [
//For linux amd64 and linux on arm64,some include path may different
//Commet and uncomment these lines to compile on a specificed archtiecture
//Arm64 linux libs
/*
"/usr/lib/aarch64-linux-gnu/dbus-1.0/include/**",
"/usr/lib/aarch64-linux-gnu/glib-2.0/include",
*/
//amd64 linux libs(For ubuntu)
/*
"/usr/lib/x86_64-linux-gnu/dbus-1.0/include",
"/usr/lib/x86_64-linux-gnu/glib-2.0/include",
*/
//For debian and ubuntu,kali
/*
"/usr/include/gtk-3.0/gtk/**",
"/usr/include/uuid/**",
*/
//For manjaro(Arch linux)
"/usr/lib/dbus-1.0/include/**",
"/usr/lib/glib-2.0/include/**",
"/usr/include/lzo/**",
"/usr/include/cloudproviders/**",
"${workspaceFolder}/**",
"/usr/include/gtk-3.0/**",
"/usr/include/at-spi2-atk/2.0/**",
"/usr/include/at-spi-2.0/**",
"/usr/include/dbus-1.0/**",
"/usr/include/gio-unix-2.0/**",
"/usr/include/cairo/**",
"/usr/include/pango-1.0/**",
"/usr/include/fribidi/**",
"/usr/include/harfbuzz/**",
"/usr/include/atk-1.0/**",
"/usr/include/pixman-1/**",
"/usr/include/freetype2/**",
"/usr/include/libpng16/**",
"/usr/include/gdk-pixbuf-2.0/**",
"/usr/include/libmount/**",
"/usr/include/blkid/**",
"/usr/include/glib-2.0/**"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "gnu17",
"cppStandard": "gnu++14",
"intelliSenseMode": "gcc-arm64",
"compilerArgs": [
"`pkg-config --cflags --libs gtk+-3.0`"
],
"configurationProvider": "ms-vscode.cmake-tools"
}
],
"version": 4
}

View File

@ -0,0 +1,29 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "g++ - Build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/bin/gtk61",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: g++ build active file",
"miDebuggerPath": "/usr/bin/gdb"
}
]
}

View File

@ -0,0 +1,4 @@
{
"C_Cpp.errorSquiggles": "Disabled",
"cmake.configureOnOpen": false
}

View File

@ -0,0 +1,83 @@
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++ build active file",
"command": "/usr/bin/g++",
"args": [
"-g",
"src/*.cpp",
"-o",
"${workspaceFolder}/bin/gtk61",
"-pthread",
//For Arm64 linux
/*
"-I/usr/lib/aarch64-linux-gnu/dbus-1.0/include",
"-I/usr/lib/aarch64-linux-gnu/glib-2.0/include",
*/
//For amd64 linux
/*
"-I/usr/lib/x86_64-linux-gnu/dbus-1.0/include",
"-I/usr/lib/x86_64-linux-gnu/glib-2.0/include",
*/
//Ubuntu and kali include paths
/*
"-I/usr/include/uuid",
*/
//Manjaro linux and Arch linux include args
"-I${workspaceFolder}",
"-I/usr/lib/glib-2.0/include",
"-I/usr/lib/dbus-1.0/include",
"-I/usr/include/lzo",
"-I/usr/include/cloudproviders",
"-I/usr/include/gtk-3.0",
"-I/usr/include/at-spi2-atk/2.0",
"-I/usr/include/at-spi-2.0",
"-I/usr/include/dbus-1.0",
"-I/usr/include/gio-unix-2.0",
"-I/usr/include/cairo",
"-I/usr/include/pango-1.0",
"-I/usr/include/fribidi",
"-I/usr/include/harfbuzz",
"-I/usr/include/atk-1.0",
"-I/usr/include/pixman-1",
"-I/usr/include/freetype2",
"-I/usr/include/libpng16",
"-I/usr/include/gdk-pixbuf-2.0",
"-I/usr/include/libmount",
"-I/usr/include/blkid",
"-I/usr/include/glib-2.0",
//Manjaro linux lib args
"-lz",
"-lgtk-3",
"-lgdk-3",
"-lpangocairo-1.0",
"-lpango-1.0",
"-lharfbuzz",
"-latk-1.0",
"-lcairo-gobject",
"-lcairo",
"-lgdk_pixbuf-2.0",
"-lgio-2.0",
"-lgobject-2.0",
"-lglib-2.0",
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}

View File

@ -0,0 +1 @@

View File

@ -0,0 +1 @@
glib-compile-resources gtk61.resource.xml --target=../src/resources.cpp --generate-source

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="gtk61">
<file preprocess="xml-stripblanks">window.ui</file>
</gresource>
</gresources>

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<object class="GtkWindow" id="window1">
<property name="can-focus">False</property>
<property name="title" translatable="yes">gtk(61)</property>
<property name="default-width">440</property>
<property name="default-height">250</property>
<property name="icon-name">org.gtk.daleclack</property>
<child>
<object class="GtkFixed" id="fixed">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkButton" id="btn1">
<property name="label" translatable="yes">Press Me</property>
<property name="width-request">40</property>
<property name="height-request">40</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="x">193</property>
<property name="y">121</property>
</packing>
</child>
<child>
<object class="GtkButton" id="btn2">
<property name="label" translatable="yes">Press Me</property>
<property name="width-request">40</property>
<property name="height-request">40</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="x">82</property>
<property name="y">90</property>
</packing>
</child>
<child>
<object class="GtkButton" id="btn3">
<property name="label" translatable="yes">Press Me</property>
<property name="width-request">40</property>
<property name="height-request">40</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="x">303</property>
<property name="y">170</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<object class="GtkWindow" id="window1">
<property name="can-focus">False</property>
<property name="title" translatable="yes">gtk(61)</property>
<property name="default-width">440</property>
<property name="default-height">250</property>
<property name="icon-name">org.gtk.daleclack</property>
<child>
<object class="GtkFixed" id="fixed">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkButton" id="btn1">
<property name="label" translatable="yes">Press Me</property>
<property name="width-request">40</property>
<property name="height-request">40</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="x">193</property>
<property name="y">121</property>
</packing>
</child>
<child>
<object class="GtkButton" id="btn2">
<property name="label" translatable="yes">Press Me</property>
<property name="width-request">40</property>
<property name="height-request">40</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="x">82</property>
<property name="y">90</property>
</packing>
</child>
<child>
<object class="GtkButton" id="btn3">
<property name="label" translatable="yes">Press Me</property>
<property name="width-request">40</property>
<property name="height-request">40</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="x">394</property>
<property name="y">195</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

View File

@ -0,0 +1,73 @@
#include <gtk/gtk.h>
#include <ctime>
gboolean move_btn(gpointer data){
GObject *fixed,*btn1,*win;
int width,height,x,y;
double x1,y1;
srand((unsigned)time(NULL));
x1=(rand()%10)/10.0;
y1=(rand()%10)/10.0;
//g_print("%f %f\n",x1,y1);
GtkBuilder *builder=GTK_BUILDER(data);
fixed=gtk_builder_get_object(builder,"fixed");
btn1=gtk_builder_get_object(builder,"btn1");
win=gtk_builder_get_object(builder,"window1");
gtk_window_get_size(GTK_WINDOW(win),&width,&height);
x=x1*width;y=y1*height;
//g_print("%d %d\n",x,y);
if(x>440||y>250){
g_print("ERROR");
return FALSE;
}
gtk_fixed_move(GTK_FIXED(fixed),GTK_WIDGET(btn1),x,y);
return TRUE;
}
static void button_entered(GtkWidget *widget,GtkBuilder *builder){
GObject *fixed,*win;
int width,height,x,y;
double x1,y1;
srand((unsigned)time(NULL));
x1=(rand()%10)/10.0;
y1=(rand()%10)/10.0;
//Get window size and position
win=gtk_builder_get_object(builder,"window1");
gtk_window_get_size(GTK_WINDOW(win),&width,&height);
x=x1*width;y=y1*height;
fixed=gtk_builder_get_object(builder,"fixed");
gtk_fixed_move(GTK_FIXED(fixed),widget,x,y);
}
static void gtkmain(GtkApplication *app,gpointer user_data){
GtkBuilder *builder,*menumodel1;
GObject *window,*popover,*btn1,*btn2,*btn3;
//Get window
builder=gtk_builder_new_from_resource("/gtk61/window.ui");
window=gtk_builder_get_object(builder,"window1");
//Button:move when click the button
btn1=gtk_builder_get_object(builder,"btn1");
g_signal_connect(btn1,"clicked",G_CALLBACK(button_entered),builder);
btn2=gtk_builder_get_object(builder,"btn2");
g_signal_connect(btn2,"clicked",G_CALLBACK(button_entered),builder);
btn3=gtk_builder_get_object(builder,"btn3");
g_signal_connect(btn3,"clicked",G_CALLBACK(button_entered),builder);
g_timeout_add(1000,move_btn,builder);
gtk_application_add_window(app,GTK_WINDOW(window));
gtk_widget_show_all(GTK_WIDGET(window));
}
int main(int argc,char **argv){
GtkApplication *app;
app=gtk_application_new("org.gtk.daleclack",G_APPLICATION_NON_UNIQUE);
g_signal_connect(app,"activate",G_CALLBACK(gtkmain),NULL);
return g_application_run(G_APPLICATION(app),argc,argv);
}

View File

@ -0,0 +1,423 @@
#include <gio/gio.h>
#if defined (__ELF__) && ( __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 6))
# define SECTION __attribute__ ((section (".gresource.gtk61"), aligned (8)))
#else
# define SECTION
#endif
#ifdef _MSC_VER
static const SECTION union { const guint8 data[2017]; const double alignment; void * const ptr;} gtk61_resource_data = { {
0107, 0126, 0141, 0162, 0151, 0141, 0156, 0164, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000,
0030, 0000, 0000, 0000, 0164, 0000, 0000, 0000, 0000, 0000, 0000, 0050, 0003, 0000, 0000, 0000,
0000, 0000, 0000, 0000, 0001, 0000, 0000, 0000, 0002, 0000, 0000, 0000, 0224, 0100, 0340, 0134,
0001, 0000, 0000, 0000, 0164, 0000, 0000, 0000, 0011, 0000, 0166, 0000, 0200, 0000, 0000, 0000,
0315, 0007, 0000, 0000, 0320, 0320, 0142, 0036, 0002, 0000, 0000, 0000, 0315, 0007, 0000, 0000,
0006, 0000, 0114, 0000, 0324, 0007, 0000, 0000, 0330, 0007, 0000, 0000, 0324, 0265, 0002, 0000,
0377, 0377, 0377, 0377, 0330, 0007, 0000, 0000, 0001, 0000, 0114, 0000, 0334, 0007, 0000, 0000,
0340, 0007, 0000, 0000, 0167, 0151, 0156, 0144, 0157, 0167, 0056, 0165, 0151, 0000, 0000, 0000,
0075, 0007, 0000, 0000, 0000, 0000, 0000, 0000, 0074, 0077, 0170, 0155, 0154, 0040, 0166, 0145,
0162, 0163, 0151, 0157, 0156, 0075, 0042, 0061, 0056, 0060, 0042, 0040, 0145, 0156, 0143, 0157,
0144, 0151, 0156, 0147, 0075, 0042, 0125, 0124, 0106, 0055, 0070, 0042, 0077, 0076, 0012, 0074,
0041, 0055, 0055, 0040, 0107, 0145, 0156, 0145, 0162, 0141, 0164, 0145, 0144, 0040, 0167, 0151,
0164, 0150, 0040, 0147, 0154, 0141, 0144, 0145, 0040, 0063, 0056, 0063, 0070, 0056, 0062, 0040,
0055, 0055, 0076, 0012, 0074, 0151, 0156, 0164, 0145, 0162, 0146, 0141, 0143, 0145, 0076, 0074,
0162, 0145, 0161, 0165, 0151, 0162, 0145, 0163, 0040, 0154, 0151, 0142, 0075, 0042, 0147, 0164,
0153, 0053, 0042, 0040, 0166, 0145, 0162, 0163, 0151, 0157, 0156, 0075, 0042, 0063, 0056, 0062,
0064, 0042, 0057, 0076, 0074, 0157, 0142, 0152, 0145, 0143, 0164, 0040, 0143, 0154, 0141, 0163,
0163, 0075, 0042, 0107, 0164, 0153, 0127, 0151, 0156, 0144, 0157, 0167, 0042, 0040, 0151, 0144,
0075, 0042, 0167, 0151, 0156, 0144, 0157, 0167, 0061, 0042, 0076, 0074, 0160, 0162, 0157, 0160,
0145, 0162, 0164, 0171, 0040, 0156, 0141, 0155, 0145, 0075, 0042, 0143, 0141, 0156, 0055, 0146,
0157, 0143, 0165, 0163, 0042, 0076, 0106, 0141, 0154, 0163, 0145, 0074, 0057, 0160, 0162, 0157,
0160, 0145, 0162, 0164, 0171, 0076, 0074, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0040,
0156, 0141, 0155, 0145, 0075, 0042, 0164, 0151, 0164, 0154, 0145, 0042, 0040, 0164, 0162, 0141,
0156, 0163, 0154, 0141, 0164, 0141, 0142, 0154, 0145, 0075, 0042, 0171, 0145, 0163, 0042, 0076,
0147, 0164, 0153, 0050, 0066, 0061, 0051, 0074, 0057, 0160, 0162, 0157, 0160, 0145, 0162, 0164,
0171, 0076, 0074, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0040, 0156, 0141, 0155, 0145,
0075, 0042, 0144, 0145, 0146, 0141, 0165, 0154, 0164, 0055, 0167, 0151, 0144, 0164, 0150, 0042,
0076, 0064, 0064, 0060, 0074, 0057, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0076, 0074,
0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0040, 0156, 0141, 0155, 0145, 0075, 0042, 0144,
0145, 0146, 0141, 0165, 0154, 0164, 0055, 0150, 0145, 0151, 0147, 0150, 0164, 0042, 0076, 0062,
0065, 0060, 0074, 0057, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0076, 0074, 0160, 0162,
0157, 0160, 0145, 0162, 0164, 0171, 0040, 0156, 0141, 0155, 0145, 0075, 0042, 0151, 0143, 0157,
0156, 0055, 0156, 0141, 0155, 0145, 0042, 0076, 0157, 0162, 0147, 0056, 0147, 0164, 0153, 0056,
0144, 0141, 0154, 0145, 0143, 0154, 0141, 0143, 0153, 0074, 0057, 0160, 0162, 0157, 0160, 0145,
0162, 0164, 0171, 0076, 0074, 0143, 0150, 0151, 0154, 0144, 0076, 0074, 0157, 0142, 0152, 0145,
0143, 0164, 0040, 0143, 0154, 0141, 0163, 0163, 0075, 0042, 0107, 0164, 0153, 0106, 0151, 0170,
0145, 0144, 0042, 0040, 0151, 0144, 0075, 0042, 0146, 0151, 0170, 0145, 0144, 0042, 0076, 0074,
0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0040, 0156, 0141, 0155, 0145, 0075, 0042, 0166,
0151, 0163, 0151, 0142, 0154, 0145, 0042, 0076, 0124, 0162, 0165, 0145, 0074, 0057, 0160, 0162,
0157, 0160, 0145, 0162, 0164, 0171, 0076, 0074, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171,
0040, 0156, 0141, 0155, 0145, 0075, 0042, 0143, 0141, 0156, 0055, 0146, 0157, 0143, 0165, 0163,
0042, 0076, 0106, 0141, 0154, 0163, 0145, 0074, 0057, 0160, 0162, 0157, 0160, 0145, 0162, 0164,
0171, 0076, 0074, 0143, 0150, 0151, 0154, 0144, 0076, 0074, 0157, 0142, 0152, 0145, 0143, 0164,
0040, 0143, 0154, 0141, 0163, 0163, 0075, 0042, 0107, 0164, 0153, 0102, 0165, 0164, 0164, 0157,
0156, 0042, 0040, 0151, 0144, 0075, 0042, 0142, 0164, 0156, 0061, 0042, 0076, 0074, 0160, 0162,
0157, 0160, 0145, 0162, 0164, 0171, 0040, 0156, 0141, 0155, 0145, 0075, 0042, 0154, 0141, 0142,
0145, 0154, 0042, 0040, 0164, 0162, 0141, 0156, 0163, 0154, 0141, 0164, 0141, 0142, 0154, 0145,
0075, 0042, 0171, 0145, 0163, 0042, 0076, 0120, 0162, 0145, 0163, 0163, 0040, 0115, 0145, 0074,
0057, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0076, 0074, 0160, 0162, 0157, 0160, 0145,
0162, 0164, 0171, 0040, 0156, 0141, 0155, 0145, 0075, 0042, 0167, 0151, 0144, 0164, 0150, 0055,
0162, 0145, 0161, 0165, 0145, 0163, 0164, 0042, 0076, 0064, 0060, 0074, 0057, 0160, 0162, 0157,
0160, 0145, 0162, 0164, 0171, 0076, 0074, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0040,
0156, 0141, 0155, 0145, 0075, 0042, 0150, 0145, 0151, 0147, 0150, 0164, 0055, 0162, 0145, 0161,
0165, 0145, 0163, 0164, 0042, 0076, 0064, 0060, 0074, 0057, 0160, 0162, 0157, 0160, 0145, 0162,
0164, 0171, 0076, 0074, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0040, 0156, 0141, 0155,
0145, 0075, 0042, 0166, 0151, 0163, 0151, 0142, 0154, 0145, 0042, 0076, 0124, 0162, 0165, 0145,
0074, 0057, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0076, 0074, 0160, 0162, 0157, 0160,
0145, 0162, 0164, 0171, 0040, 0156, 0141, 0155, 0145, 0075, 0042, 0143, 0141, 0156, 0055, 0146,
0157, 0143, 0165, 0163, 0042, 0076, 0124, 0162, 0165, 0145, 0074, 0057, 0160, 0162, 0157, 0160,
0145, 0162, 0164, 0171, 0076, 0074, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0040, 0156,
0141, 0155, 0145, 0075, 0042, 0162, 0145, 0143, 0145, 0151, 0166, 0145, 0163, 0055, 0144, 0145,
0146, 0141, 0165, 0154, 0164, 0042, 0076, 0124, 0162, 0165, 0145, 0074, 0057, 0160, 0162, 0157,
0160, 0145, 0162, 0164, 0171, 0076, 0074, 0057, 0157, 0142, 0152, 0145, 0143, 0164, 0076, 0074,
0160, 0141, 0143, 0153, 0151, 0156, 0147, 0076, 0074, 0160, 0162, 0157, 0160, 0145, 0162, 0164,
0171, 0040, 0156, 0141, 0155, 0145, 0075, 0042, 0170, 0042, 0076, 0061, 0071, 0063, 0074, 0057,
0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0076, 0074, 0160, 0162, 0157, 0160, 0145, 0162,
0164, 0171, 0040, 0156, 0141, 0155, 0145, 0075, 0042, 0171, 0042, 0076, 0061, 0062, 0061, 0074,
0057, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0076, 0074, 0057, 0160, 0141, 0143, 0153,
0151, 0156, 0147, 0076, 0074, 0057, 0143, 0150, 0151, 0154, 0144, 0076, 0074, 0143, 0150, 0151,
0154, 0144, 0076, 0074, 0157, 0142, 0152, 0145, 0143, 0164, 0040, 0143, 0154, 0141, 0163, 0163,
0075, 0042, 0107, 0164, 0153, 0102, 0165, 0164, 0164, 0157, 0156, 0042, 0040, 0151, 0144, 0075,
0042, 0142, 0164, 0156, 0062, 0042, 0076, 0074, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171,
0040, 0156, 0141, 0155, 0145, 0075, 0042, 0154, 0141, 0142, 0145, 0154, 0042, 0040, 0164, 0162,
0141, 0156, 0163, 0154, 0141, 0164, 0141, 0142, 0154, 0145, 0075, 0042, 0171, 0145, 0163, 0042,
0076, 0120, 0162, 0145, 0163, 0163, 0040, 0115, 0145, 0074, 0057, 0160, 0162, 0157, 0160, 0145,
0162, 0164, 0171, 0076, 0074, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0040, 0156, 0141,
0155, 0145, 0075, 0042, 0167, 0151, 0144, 0164, 0150, 0055, 0162, 0145, 0161, 0165, 0145, 0163,
0164, 0042, 0076, 0064, 0060, 0074, 0057, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0076,
0074, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0040, 0156, 0141, 0155, 0145, 0075, 0042,
0150, 0145, 0151, 0147, 0150, 0164, 0055, 0162, 0145, 0161, 0165, 0145, 0163, 0164, 0042, 0076,
0064, 0060, 0074, 0057, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0076, 0074, 0160, 0162,
0157, 0160, 0145, 0162, 0164, 0171, 0040, 0156, 0141, 0155, 0145, 0075, 0042, 0166, 0151, 0163,
0151, 0142, 0154, 0145, 0042, 0076, 0124, 0162, 0165, 0145, 0074, 0057, 0160, 0162, 0157, 0160,
0145, 0162, 0164, 0171, 0076, 0074, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0040, 0156,
0141, 0155, 0145, 0075, 0042, 0143, 0141, 0156, 0055, 0146, 0157, 0143, 0165, 0163, 0042, 0076,
0124, 0162, 0165, 0145, 0074, 0057, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0076, 0074,
0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0040, 0156, 0141, 0155, 0145, 0075, 0042, 0162,
0145, 0143, 0145, 0151, 0166, 0145, 0163, 0055, 0144, 0145, 0146, 0141, 0165, 0154, 0164, 0042,
0076, 0124, 0162, 0165, 0145, 0074, 0057, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0076,
0074, 0057, 0157, 0142, 0152, 0145, 0143, 0164, 0076, 0074, 0160, 0141, 0143, 0153, 0151, 0156,
0147, 0076, 0074, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0040, 0156, 0141, 0155, 0145,
0075, 0042, 0170, 0042, 0076, 0070, 0062, 0074, 0057, 0160, 0162, 0157, 0160, 0145, 0162, 0164,
0171, 0076, 0074, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0040, 0156, 0141, 0155, 0145,
0075, 0042, 0171, 0042, 0076, 0071, 0060, 0074, 0057, 0160, 0162, 0157, 0160, 0145, 0162, 0164,
0171, 0076, 0074, 0057, 0160, 0141, 0143, 0153, 0151, 0156, 0147, 0076, 0074, 0057, 0143, 0150,
0151, 0154, 0144, 0076, 0074, 0143, 0150, 0151, 0154, 0144, 0076, 0074, 0157, 0142, 0152, 0145,
0143, 0164, 0040, 0143, 0154, 0141, 0163, 0163, 0075, 0042, 0107, 0164, 0153, 0102, 0165, 0164,
0164, 0157, 0156, 0042, 0040, 0151, 0144, 0075, 0042, 0142, 0164, 0156, 0063, 0042, 0076, 0074,
0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0040, 0156, 0141, 0155, 0145, 0075, 0042, 0154,
0141, 0142, 0145, 0154, 0042, 0040, 0164, 0162, 0141, 0156, 0163, 0154, 0141, 0164, 0141, 0142,
0154, 0145, 0075, 0042, 0171, 0145, 0163, 0042, 0076, 0120, 0162, 0145, 0163, 0163, 0040, 0115,
0145, 0074, 0057, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0076, 0074, 0160, 0162, 0157,
0160, 0145, 0162, 0164, 0171, 0040, 0156, 0141, 0155, 0145, 0075, 0042, 0167, 0151, 0144, 0164,
0150, 0055, 0162, 0145, 0161, 0165, 0145, 0163, 0164, 0042, 0076, 0064, 0060, 0074, 0057, 0160,
0162, 0157, 0160, 0145, 0162, 0164, 0171, 0076, 0074, 0160, 0162, 0157, 0160, 0145, 0162, 0164,
0171, 0040, 0156, 0141, 0155, 0145, 0075, 0042, 0150, 0145, 0151, 0147, 0150, 0164, 0055, 0162,
0145, 0161, 0165, 0145, 0163, 0164, 0042, 0076, 0064, 0060, 0074, 0057, 0160, 0162, 0157, 0160,
0145, 0162, 0164, 0171, 0076, 0074, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0040, 0156,
0141, 0155, 0145, 0075, 0042, 0166, 0151, 0163, 0151, 0142, 0154, 0145, 0042, 0076, 0124, 0162,
0165, 0145, 0074, 0057, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0076, 0074, 0160, 0162,
0157, 0160, 0145, 0162, 0164, 0171, 0040, 0156, 0141, 0155, 0145, 0075, 0042, 0143, 0141, 0156,
0055, 0146, 0157, 0143, 0165, 0163, 0042, 0076, 0124, 0162, 0165, 0145, 0074, 0057, 0160, 0162,
0157, 0160, 0145, 0162, 0164, 0171, 0076, 0074, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171,
0040, 0156, 0141, 0155, 0145, 0075, 0042, 0162, 0145, 0143, 0145, 0151, 0166, 0145, 0163, 0055,
0144, 0145, 0146, 0141, 0165, 0154, 0164, 0042, 0076, 0124, 0162, 0165, 0145, 0074, 0057, 0160,
0162, 0157, 0160, 0145, 0162, 0164, 0171, 0076, 0074, 0057, 0157, 0142, 0152, 0145, 0143, 0164,
0076, 0074, 0160, 0141, 0143, 0153, 0151, 0156, 0147, 0076, 0074, 0160, 0162, 0157, 0160, 0145,
0162, 0164, 0171, 0040, 0156, 0141, 0155, 0145, 0075, 0042, 0170, 0042, 0076, 0063, 0060, 0063,
0074, 0057, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0076, 0074, 0160, 0162, 0157, 0160,
0145, 0162, 0164, 0171, 0040, 0156, 0141, 0155, 0145, 0075, 0042, 0171, 0042, 0076, 0061, 0067,
0060, 0074, 0057, 0160, 0162, 0157, 0160, 0145, 0162, 0164, 0171, 0076, 0074, 0057, 0160, 0141,
0143, 0153, 0151, 0156, 0147, 0076, 0074, 0057, 0143, 0150, 0151, 0154, 0144, 0076, 0074, 0057,
0157, 0142, 0152, 0145, 0143, 0164, 0076, 0074, 0057, 0143, 0150, 0151, 0154, 0144, 0076, 0074,
0057, 0157, 0142, 0152, 0145, 0143, 0164, 0076, 0074, 0057, 0151, 0156, 0164, 0145, 0162, 0146,
0141, 0143, 0145, 0076, 0012, 0000, 0000, 0050, 0165, 0165, 0141, 0171, 0051, 0147, 0164, 0153,
0066, 0061, 0057, 0000, 0000, 0000, 0000, 0000, 0057, 0000, 0000, 0000, 0001, 0000, 0000, 0000
} };
#else /* _MSC_VER */
static const SECTION union { const guint8 data[2017]; const double alignment; void * const ptr;} gtk61_resource_data = {
"\107\126\141\162\151\141\156\164\000\000\000\000\000\000\000\000"
"\030\000\000\000\164\000\000\000\000\000\000\050\003\000\000\000"
"\000\000\000\000\001\000\000\000\002\000\000\000\224\100\340\134"
"\001\000\000\000\164\000\000\000\011\000\166\000\200\000\000\000"
"\315\007\000\000\320\320\142\036\002\000\000\000\315\007\000\000"
"\006\000\114\000\324\007\000\000\330\007\000\000\324\265\002\000"
"\377\377\377\377\330\007\000\000\001\000\114\000\334\007\000\000"
"\340\007\000\000\167\151\156\144\157\167\056\165\151\000\000\000"
"\075\007\000\000\000\000\000\000\074\077\170\155\154\040\166\145"
"\162\163\151\157\156\075\042\061\056\060\042\040\145\156\143\157"
"\144\151\156\147\075\042\125\124\106\055\070\042\077\076\012\074"
"\041\055\055\040\107\145\156\145\162\141\164\145\144\040\167\151"
"\164\150\040\147\154\141\144\145\040\063\056\063\070\056\062\040"
"\055\055\076\012\074\151\156\164\145\162\146\141\143\145\076\074"
"\162\145\161\165\151\162\145\163\040\154\151\142\075\042\147\164"
"\153\053\042\040\166\145\162\163\151\157\156\075\042\063\056\062"
"\064\042\057\076\074\157\142\152\145\143\164\040\143\154\141\163"
"\163\075\042\107\164\153\127\151\156\144\157\167\042\040\151\144"
"\075\042\167\151\156\144\157\167\061\042\076\074\160\162\157\160"
"\145\162\164\171\040\156\141\155\145\075\042\143\141\156\055\146"
"\157\143\165\163\042\076\106\141\154\163\145\074\057\160\162\157"
"\160\145\162\164\171\076\074\160\162\157\160\145\162\164\171\040"
"\156\141\155\145\075\042\164\151\164\154\145\042\040\164\162\141"
"\156\163\154\141\164\141\142\154\145\075\042\171\145\163\042\076"
"\147\164\153\050\066\061\051\074\057\160\162\157\160\145\162\164"
"\171\076\074\160\162\157\160\145\162\164\171\040\156\141\155\145"
"\075\042\144\145\146\141\165\154\164\055\167\151\144\164\150\042"
"\076\064\064\060\074\057\160\162\157\160\145\162\164\171\076\074"
"\160\162\157\160\145\162\164\171\040\156\141\155\145\075\042\144"
"\145\146\141\165\154\164\055\150\145\151\147\150\164\042\076\062"
"\065\060\074\057\160\162\157\160\145\162\164\171\076\074\160\162"
"\157\160\145\162\164\171\040\156\141\155\145\075\042\151\143\157"
"\156\055\156\141\155\145\042\076\157\162\147\056\147\164\153\056"
"\144\141\154\145\143\154\141\143\153\074\057\160\162\157\160\145"
"\162\164\171\076\074\143\150\151\154\144\076\074\157\142\152\145"
"\143\164\040\143\154\141\163\163\075\042\107\164\153\106\151\170"
"\145\144\042\040\151\144\075\042\146\151\170\145\144\042\076\074"
"\160\162\157\160\145\162\164\171\040\156\141\155\145\075\042\166"
"\151\163\151\142\154\145\042\076\124\162\165\145\074\057\160\162"
"\157\160\145\162\164\171\076\074\160\162\157\160\145\162\164\171"
"\040\156\141\155\145\075\042\143\141\156\055\146\157\143\165\163"
"\042\076\106\141\154\163\145\074\057\160\162\157\160\145\162\164"
"\171\076\074\143\150\151\154\144\076\074\157\142\152\145\143\164"
"\040\143\154\141\163\163\075\042\107\164\153\102\165\164\164\157"
"\156\042\040\151\144\075\042\142\164\156\061\042\076\074\160\162"
"\157\160\145\162\164\171\040\156\141\155\145\075\042\154\141\142"
"\145\154\042\040\164\162\141\156\163\154\141\164\141\142\154\145"
"\075\042\171\145\163\042\076\120\162\145\163\163\040\115\145\074"
"\057\160\162\157\160\145\162\164\171\076\074\160\162\157\160\145"
"\162\164\171\040\156\141\155\145\075\042\167\151\144\164\150\055"
"\162\145\161\165\145\163\164\042\076\064\060\074\057\160\162\157"
"\160\145\162\164\171\076\074\160\162\157\160\145\162\164\171\040"
"\156\141\155\145\075\042\150\145\151\147\150\164\055\162\145\161"
"\165\145\163\164\042\076\064\060\074\057\160\162\157\160\145\162"
"\164\171\076\074\160\162\157\160\145\162\164\171\040\156\141\155"
"\145\075\042\166\151\163\151\142\154\145\042\076\124\162\165\145"
"\074\057\160\162\157\160\145\162\164\171\076\074\160\162\157\160"
"\145\162\164\171\040\156\141\155\145\075\042\143\141\156\055\146"
"\157\143\165\163\042\076\124\162\165\145\074\057\160\162\157\160"
"\145\162\164\171\076\074\160\162\157\160\145\162\164\171\040\156"
"\141\155\145\075\042\162\145\143\145\151\166\145\163\055\144\145"
"\146\141\165\154\164\042\076\124\162\165\145\074\057\160\162\157"
"\160\145\162\164\171\076\074\057\157\142\152\145\143\164\076\074"
"\160\141\143\153\151\156\147\076\074\160\162\157\160\145\162\164"
"\171\040\156\141\155\145\075\042\170\042\076\061\071\063\074\057"
"\160\162\157\160\145\162\164\171\076\074\160\162\157\160\145\162"
"\164\171\040\156\141\155\145\075\042\171\042\076\061\062\061\074"
"\057\160\162\157\160\145\162\164\171\076\074\057\160\141\143\153"
"\151\156\147\076\074\057\143\150\151\154\144\076\074\143\150\151"
"\154\144\076\074\157\142\152\145\143\164\040\143\154\141\163\163"
"\075\042\107\164\153\102\165\164\164\157\156\042\040\151\144\075"
"\042\142\164\156\062\042\076\074\160\162\157\160\145\162\164\171"
"\040\156\141\155\145\075\042\154\141\142\145\154\042\040\164\162"
"\141\156\163\154\141\164\141\142\154\145\075\042\171\145\163\042"
"\076\120\162\145\163\163\040\115\145\074\057\160\162\157\160\145"
"\162\164\171\076\074\160\162\157\160\145\162\164\171\040\156\141"
"\155\145\075\042\167\151\144\164\150\055\162\145\161\165\145\163"
"\164\042\076\064\060\074\057\160\162\157\160\145\162\164\171\076"
"\074\160\162\157\160\145\162\164\171\040\156\141\155\145\075\042"
"\150\145\151\147\150\164\055\162\145\161\165\145\163\164\042\076"
"\064\060\074\057\160\162\157\160\145\162\164\171\076\074\160\162"
"\157\160\145\162\164\171\040\156\141\155\145\075\042\166\151\163"
"\151\142\154\145\042\076\124\162\165\145\074\057\160\162\157\160"
"\145\162\164\171\076\074\160\162\157\160\145\162\164\171\040\156"
"\141\155\145\075\042\143\141\156\055\146\157\143\165\163\042\076"
"\124\162\165\145\074\057\160\162\157\160\145\162\164\171\076\074"
"\160\162\157\160\145\162\164\171\040\156\141\155\145\075\042\162"
"\145\143\145\151\166\145\163\055\144\145\146\141\165\154\164\042"
"\076\124\162\165\145\074\057\160\162\157\160\145\162\164\171\076"
"\074\057\157\142\152\145\143\164\076\074\160\141\143\153\151\156"
"\147\076\074\160\162\157\160\145\162\164\171\040\156\141\155\145"
"\075\042\170\042\076\070\062\074\057\160\162\157\160\145\162\164"
"\171\076\074\160\162\157\160\145\162\164\171\040\156\141\155\145"
"\075\042\171\042\076\071\060\074\057\160\162\157\160\145\162\164"
"\171\076\074\057\160\141\143\153\151\156\147\076\074\057\143\150"
"\151\154\144\076\074\143\150\151\154\144\076\074\157\142\152\145"
"\143\164\040\143\154\141\163\163\075\042\107\164\153\102\165\164"
"\164\157\156\042\040\151\144\075\042\142\164\156\063\042\076\074"
"\160\162\157\160\145\162\164\171\040\156\141\155\145\075\042\154"
"\141\142\145\154\042\040\164\162\141\156\163\154\141\164\141\142"
"\154\145\075\042\171\145\163\042\076\120\162\145\163\163\040\115"
"\145\074\057\160\162\157\160\145\162\164\171\076\074\160\162\157"
"\160\145\162\164\171\040\156\141\155\145\075\042\167\151\144\164"
"\150\055\162\145\161\165\145\163\164\042\076\064\060\074\057\160"
"\162\157\160\145\162\164\171\076\074\160\162\157\160\145\162\164"
"\171\040\156\141\155\145\075\042\150\145\151\147\150\164\055\162"
"\145\161\165\145\163\164\042\076\064\060\074\057\160\162\157\160"
"\145\162\164\171\076\074\160\162\157\160\145\162\164\171\040\156"
"\141\155\145\075\042\166\151\163\151\142\154\145\042\076\124\162"
"\165\145\074\057\160\162\157\160\145\162\164\171\076\074\160\162"
"\157\160\145\162\164\171\040\156\141\155\145\075\042\143\141\156"
"\055\146\157\143\165\163\042\076\124\162\165\145\074\057\160\162"
"\157\160\145\162\164\171\076\074\160\162\157\160\145\162\164\171"
"\040\156\141\155\145\075\042\162\145\143\145\151\166\145\163\055"
"\144\145\146\141\165\154\164\042\076\124\162\165\145\074\057\160"
"\162\157\160\145\162\164\171\076\074\057\157\142\152\145\143\164"
"\076\074\160\141\143\153\151\156\147\076\074\160\162\157\160\145"
"\162\164\171\040\156\141\155\145\075\042\170\042\076\063\060\063"
"\074\057\160\162\157\160\145\162\164\171\076\074\160\162\157\160"
"\145\162\164\171\040\156\141\155\145\075\042\171\042\076\061\067"
"\060\074\057\160\162\157\160\145\162\164\171\076\074\057\160\141"
"\143\153\151\156\147\076\074\057\143\150\151\154\144\076\074\057"
"\157\142\152\145\143\164\076\074\057\143\150\151\154\144\076\074"
"\057\157\142\152\145\143\164\076\074\057\151\156\164\145\162\146"
"\141\143\145\076\012\000\000\050\165\165\141\171\051\147\164\153"
"\066\061\057\000\000\000\000\000\057\000\000\000\001\000\000\000"
"" };
#endif /* !_MSC_VER */
static GStaticResource static_resource = { gtk61_resource_data.data, sizeof (gtk61_resource_data.data) - 1 /* nul terminator */, NULL, NULL, NULL };
G_MODULE_EXPORT
GResource *gtk61_get_resource (void);
GResource *gtk61_get_resource (void)
{
return g_static_resource_get_resource (&static_resource);
}
/*
If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and
destructors, in a usable way, including e.g. on library unload. If not you're on
your own.
Some compilers need #pragma to handle this, which does not work with macros,
so the way you need to use this is (for constructors):
#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA
#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor)
#endif
G_DEFINE_CONSTRUCTOR(my_constructor)
static void my_constructor(void) {
...
}
*/
#ifndef __GTK_DOC_IGNORE__
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
#define G_HAS_CONSTRUCTORS 1
#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void);
#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void);
#elif defined (_MSC_VER) && (_MSC_VER >= 1500)
/* Visual studio 2008 and later has _Pragma */
#include <stdlib.h>
#define G_HAS_CONSTRUCTORS 1
/* We do some weird things to avoid the constructors being optimized
* away on VS2015 if WholeProgramOptimization is enabled. First we
* make a reference to the array from the wrapper to make sure its
* references. Then we use a pragma to make sure the wrapper function
* symbol is always included at the link stage. Also, the symbols
* need to be extern (but not dllexport), even though they are not
* really used from another object file.
*/
/* We need to account for differences between the mangling of symbols
* for x86 and x64/ARM/ARM64 programs, as symbols on x86 are prefixed
* with an underscore but symbols on x64/ARM/ARM64 are not.
*/
#ifdef _M_IX86
#define G_MSVC_SYMBOL_PREFIX "_"
#else
#define G_MSVC_SYMBOL_PREFIX ""
#endif
#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)
#define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX)
#define G_MSVC_CTOR(_func,_sym_prefix) \
static void _func(void); \
extern int (* _array ## _func)(void); \
int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \
__pragma(comment(linker,"/include:" _sym_prefix # _func "_wrapper")) \
__pragma(section(".CRT$XCU",read)) \
__declspec(allocate(".CRT$XCU")) int (* _array ## _func)(void) = _func ## _wrapper;
#define G_MSVC_DTOR(_func,_sym_prefix) \
static void _func(void); \
extern int (* _array ## _func)(void); \
int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \
__pragma(comment(linker,"/include:" _sym_prefix # _func "_constructor")) \
__pragma(section(".CRT$XCU",read)) \
__declspec(allocate(".CRT$XCU")) int (* _array ## _func)(void) = _func ## _constructor;
#elif defined (_MSC_VER)
#define G_HAS_CONSTRUCTORS 1
/* Pre Visual studio 2008 must use #pragma section */
#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1
#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1
#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \
section(".CRT$XCU",read)
#define G_DEFINE_CONSTRUCTOR(_func) \
static void _func(void); \
static int _func ## _wrapper(void) { _func(); return 0; } \
__declspec(allocate(".CRT$XCU")) static int (*p)(void) = _func ## _wrapper;
#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \
section(".CRT$XCU",read)
#define G_DEFINE_DESTRUCTOR(_func) \
static void _func(void); \
static int _func ## _constructor(void) { atexit (_func); return 0; } \
__declspec(allocate(".CRT$XCU")) static int (* _array ## _func)(void) = _func ## _constructor;
#elif defined(__SUNPRO_C)
/* This is not tested, but i believe it should work, based on:
* http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_premain.c
*/
#define G_HAS_CONSTRUCTORS 1
#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1
#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1
#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \
init(_func)
#define G_DEFINE_CONSTRUCTOR(_func) \
static void _func(void);
#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \
fini(_func)
#define G_DEFINE_DESTRUCTOR(_func) \
static void _func(void);
#else
/* constructors not supported for this compiler */
#endif
#endif /* __GTK_DOC_IGNORE__ */
#ifdef G_HAS_CONSTRUCTORS
#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA
#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(resource_constructor)
#endif
G_DEFINE_CONSTRUCTOR(resource_constructor)
#ifdef G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA
#pragma G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(resource_destructor)
#endif
G_DEFINE_DESTRUCTOR(resource_destructor)
#else
#warning "Constructor not supported on this compiler, linking in resources will not work"
#endif
static void resource_constructor (void)
{
g_static_resource_init (&static_resource);
}
static void resource_destructor (void)
{
g_static_resource_fini (&static_resource);
}