Skip to content

Commit f346b88

Browse files
committed
port: Drawing Area
1 parent 72ee982 commit f346b88

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

src/Drawing Area/main.ts

+13-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
1-
const drawingArea = workbench.builder.get_object("drawing_area");
2-
const scaleRotate = workbench.builder.get_object("scale");
1+
import Gtk from "gi://Gtk?version=4.0";
2+
import cairo from "cairo";
3+
4+
const drawingArea = workbench.builder.get_object<Gtk.DrawingArea>(
5+
"drawing_area",
6+
);
7+
const scaleRotate = workbench.builder.get_object<Gtk.Scale>("scale");
38

49
const triangle = [
510
[100, 100],
@@ -8,7 +13,9 @@ const triangle = [
813
];
914
var angle = 0;
1015

11-
drawingArea.set_draw_func((_self, cr, _width, _height) => {
16+
// TS: the `cairo.Context` type is broken here
17+
// See: https://github.com/gjsify/ts-for-gir/issues/194
18+
drawingArea.set_draw_func((_self, cr: cairo.Context, _width, _height) => {
1219
// Draw triangle in context
1320
cr.translate(150, 150);
1421
cr.rotate(angle);
@@ -20,6 +27,9 @@ drawingArea.set_draw_func((_self, cr, _width, _height) => {
2027
cr.setSourceRGBA(1, 0, 1, 1);
2128
cr.stroke();
2229
// Freeing the context before returning from the callback
30+
31+
// @ts-expect-error this function is not exposed
32+
// See: https://github.com/gjsify/ts-for-gir/issues/194
2333
cr.$dispose();
2434
});
2535

0 commit comments

Comments
 (0)