-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path00035.php
56 lines (45 loc) · 1.18 KB
/
00035.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
/**
* PHP-GTK Cookbook
*
* https://andor.com.br/php-gtk/cook/style-gtklabel-with-css
*/
Gtk::init();
$window = new GtkWindow();
$window->set_size_request(500, 500);
$window->set_title("PHP-GTK");
// create a box
$vbox = new GtkBox(GtkOrientation::VERTICAL);
$vbox->set_border_width(10);
// pack a blank label to populate
$vbox->pack_start(new GtkLabel(), TRUE, TRUE, 10);
// create the label
$label = new GtkLabel("My first line\nThis is the second line");
$vbox->pack_start($label, FALSE, FALSE, 10);
$label->set_name("mylabel");
// pack a blank label to populate
$vbox->pack_start(new GtkLabel(), TRUE, TRUE, 10);
// add to window
$window->add($vbox);
// create and add CSS
$css_provider = new GtkCssProvider();
$css_provider->load_from_data("
#mylabel {
background: #1a87ce;
color: #FFF;
font-size: 30px;
font-weight: bold;
font-style: italic;
text-decoration: line-through;
text-shadow: 4px 4px #000;
}
");
$style_context = new GtkStyleContext();
$style_context->add_provider_for_screen($css_provider, 600);
// connect to signal that close program
$window->connect("destroy", function() {
Gtk::main_quit();
});
// show all and start
$window->show_all();
Gtk::main();