Skip to content

Commit 23fd086

Browse files
gh-105: Fix stdlib extensions.
1 parent 93cd4f8 commit 23fd086

File tree

4 files changed

+44
-42
lines changed

4 files changed

+44
-42
lines changed

lib/std/gui/gui.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -750,16 +750,16 @@ __declspec(dllexport)
750750
#endif
751751
void prefix_extension_init(prefix_ext_context* ctx) {
752752
if (!ctx) return;
753-
ctx->register_operator("CREATE_WINDOW", (prefix_operator_fn)op_create_window, PREFIX_EXTENSION_ASMODULE);
754-
ctx->register_operator("SHOW_IMAGE", (prefix_operator_fn)op_show_image, PREFIX_EXTENSION_ASMODULE);
755-
ctx->register_operator("CLOSE_WINDOW", (prefix_operator_fn)op_close_window, PREFIX_EXTENSION_ASMODULE);
756-
ctx->register_operator("SCREEN", (prefix_operator_fn)op_screen, PREFIX_EXTENSION_ASMODULE);
757-
ctx->register_operator("WINDOW", (prefix_operator_fn)op_window, PREFIX_EXTENSION_ASMODULE);
758-
ctx->register_operator("SCREENSHOT", (prefix_operator_fn)op_screenshot, PREFIX_EXTENSION_ASMODULE);
759-
ctx->register_operator("MINIMIZE", (prefix_operator_fn)op_minimize, PREFIX_EXTENSION_ASMODULE);
760-
ctx->register_operator("MAXIMIZE", (prefix_operator_fn)op_maximize, PREFIX_EXTENSION_ASMODULE);
761-
ctx->register_operator("TO_FRONT", (prefix_operator_fn)op_to_front, PREFIX_EXTENSION_ASMODULE);
762-
ctx->register_operator("TO_BACK", (prefix_operator_fn)op_to_back, PREFIX_EXTENSION_ASMODULE);
753+
ctx->register_operator("CREATE_WINDOW", (prefix_operator_fn)op_create_window, 0);
754+
ctx->register_operator("SHOW_IMAGE", (prefix_operator_fn)op_show_image, 0);
755+
ctx->register_operator("CLOSE_WINDOW", (prefix_operator_fn)op_close_window, 0);
756+
ctx->register_operator("SCREEN", (prefix_operator_fn)op_screen, 0);
757+
ctx->register_operator("WINDOW", (prefix_operator_fn)op_window, 0);
758+
ctx->register_operator("SCREENSHOT", (prefix_operator_fn)op_screenshot, 0);
759+
ctx->register_operator("MINIMIZE", (prefix_operator_fn)op_minimize, 0);
760+
ctx->register_operator("MAXIMIZE", (prefix_operator_fn)op_maximize, 0);
761+
ctx->register_operator("TO_FRONT", (prefix_operator_fn)op_to_front, 0);
762+
ctx->register_operator("TO_BACK", (prefix_operator_fn)op_to_back, 0);
763763
}
764764

765765
#else

lib/std/gui/init.pre

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@
33
EXTEND(EXTENSION: gui)
44

55
FUNC INT: SCREEN_WIDTH(){
6-
RETURN(gui.SCREEN()[0d1])
6+
RETURN(SCREEN()[0d1])
77
}
88

99
FUNC INT: SCREEN_HEIGHT(){
10-
RETURN(gui.SCREEN()[0d2])
10+
RETURN(SCREEN()[0d2])
1111
}
1212

1313
FUNC INT: WINDOW_WIDTH(INT: handle){
14-
RETURN(gui.WINDOW(handle)[0d1])
14+
RETURN(WINDOW(handle)[0d1])
1515
}
1616

1717
FUNC INT: WINDOW_HEIGHT(INT: handle){
18-
RETURN(gui.WINDOW(handle)[0d2])
18+
RETURN(WINDOW(handle)[0d2])
1919
}

lib/std/image/image.c

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1305,25 +1305,25 @@ __declspec(dllexport)
13051305
#endif
13061306
void prefix_extension_init(prefix_ext_context* ctx) {
13071307
if (!ctx) return;
1308-
ctx->register_operator("LOAD_PNG", (prefix_operator_fn)op_load_png, PREFIX_EXTENSION_ASMODULE);
1309-
ctx->register_operator("LOAD_JPEG", (prefix_operator_fn)op_load_jpeg, PREFIX_EXTENSION_ASMODULE);
1310-
ctx->register_operator("LOAD_BMP", (prefix_operator_fn)op_load_bmp, PREFIX_EXTENSION_ASMODULE);
1311-
ctx->register_operator("SAVE_PNG", (prefix_operator_fn)op_save_png, PREFIX_EXTENSION_ASMODULE);
1312-
ctx->register_operator("SAVE_JPEG", (prefix_operator_fn)op_save_jpeg, PREFIX_EXTENSION_ASMODULE);
1313-
ctx->register_operator("SAVE_BMP", (prefix_operator_fn)op_save_bmp, PREFIX_EXTENSION_ASMODULE);
1314-
ctx->register_operator("POLYGON", (prefix_operator_fn)op_polygon, PREFIX_EXTENSION_ASMODULE);
1315-
ctx->register_operator("ELLIPSE", (prefix_operator_fn)op_ellipse, PREFIX_EXTENSION_ASMODULE);
1316-
ctx->register_operator("THRESHHOLD_A", (prefix_operator_fn)op_threshhold_a, PREFIX_EXTENSION_ASMODULE);
1317-
ctx->register_operator("THRESHHOLD_R", (prefix_operator_fn)op_threshhold_r, PREFIX_EXTENSION_ASMODULE);
1318-
ctx->register_operator("THRESHHOLD_G", (prefix_operator_fn)op_threshhold_g, PREFIX_EXTENSION_ASMODULE);
1319-
ctx->register_operator("THRESHHOLD_B", (prefix_operator_fn)op_threshhold_b, PREFIX_EXTENSION_ASMODULE);
1320-
ctx->register_operator("SCALE", (prefix_operator_fn)op_scale, PREFIX_EXTENSION_ASMODULE);
1321-
ctx->register_operator("RESIZE", (prefix_operator_fn)op_resize, PREFIX_EXTENSION_ASMODULE);
1322-
ctx->register_operator("ROTATE", (prefix_operator_fn)op_rotate, PREFIX_EXTENSION_ASMODULE);
1323-
ctx->register_operator("BLIT", (prefix_operator_fn)op_blit, PREFIX_EXTENSION_ASMODULE);
1324-
ctx->register_operator("GRAYSCALE", (prefix_operator_fn)op_grayscale, PREFIX_EXTENSION_ASMODULE);
1325-
ctx->register_operator("REPLACE_COLOR", (prefix_operator_fn)op_replace_color, PREFIX_EXTENSION_ASMODULE);
1326-
ctx->register_operator("BLUR", (prefix_operator_fn)op_blur, PREFIX_EXTENSION_ASMODULE);
1327-
ctx->register_operator("EDGE", (prefix_operator_fn)op_edge, PREFIX_EXTENSION_ASMODULE);
1328-
ctx->register_operator("CELLSHADE", (prefix_operator_fn)op_cellshade, PREFIX_EXTENSION_ASMODULE);
1308+
ctx->register_operator("LOAD_PNG", (prefix_operator_fn)op_load_png, 0);
1309+
ctx->register_operator("LOAD_JPEG", (prefix_operator_fn)op_load_jpeg, 0);
1310+
ctx->register_operator("LOAD_BMP", (prefix_operator_fn)op_load_bmp, 0);
1311+
ctx->register_operator("SAVE_PNG", (prefix_operator_fn)op_save_png, 0);
1312+
ctx->register_operator("SAVE_JPEG", (prefix_operator_fn)op_save_jpeg, 0);
1313+
ctx->register_operator("SAVE_BMP", (prefix_operator_fn)op_save_bmp, 0);
1314+
ctx->register_operator("POLYGON", (prefix_operator_fn)op_polygon, 0);
1315+
ctx->register_operator("ELLIPSE", (prefix_operator_fn)op_ellipse, 0);
1316+
ctx->register_operator("THRESHHOLD_A", (prefix_operator_fn)op_threshhold_a, 0);
1317+
ctx->register_operator("THRESHHOLD_R", (prefix_operator_fn)op_threshhold_r, 0);
1318+
ctx->register_operator("THRESHHOLD_G", (prefix_operator_fn)op_threshhold_g, 0);
1319+
ctx->register_operator("THRESHHOLD_B", (prefix_operator_fn)op_threshhold_b, 0);
1320+
ctx->register_operator("SCALE", (prefix_operator_fn)op_scale, 0);
1321+
ctx->register_operator("RESIZE", (prefix_operator_fn)op_resize, 0);
1322+
ctx->register_operator("ROTATE", (prefix_operator_fn)op_rotate, 0);
1323+
ctx->register_operator("BLIT", (prefix_operator_fn)op_blit, 0);
1324+
ctx->register_operator("GRAYSCALE", (prefix_operator_fn)op_grayscale, 0);
1325+
ctx->register_operator("REPLACE_COLOR", (prefix_operator_fn)op_replace_color, 0);
1326+
ctx->register_operator("BLUR", (prefix_operator_fn)op_blur, 0);
1327+
ctx->register_operator("EDGE", (prefix_operator_fn)op_edge, 0);
1328+
ctx->register_operator("CELLSHADE", (prefix_operator_fn)op_cellshade, 0);
13291329
}

lib/std/image/init.pre

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,20 @@
44
! The returned tensor layout is [column][row][channel] (width, height, channel)
55
! in user code. Channels are ordered r, g, b, a and values are 0..255.
66

7+
EXTEND(EXTENSION: win32)
8+
79
EXTEND(EXTENSION: image)
810

911
IMPORT(path)
1012

1113
FUNC TNS: LOAD(STR: img_path){
1214
STR: ext = path.EXTNAME(img_path)
1315
IF(EQ(ext, "png")){
14-
RETURN(image.LOAD_PNG(img_path))
16+
RETURN(LOAD_PNG(img_path))
1517
} ELSEIF (OR(EQ(ext, "jpg"),EQ(ext, "jpeg"))){
16-
RETURN(image.LOAD_JPEG(img_path))
18+
RETURN(LOAD_JPEG(img_path))
1719
} ELSEIF (EQ(ext, "bmp")){
18-
RETURN(image.LOAD_BMP(img_path))
20+
RETURN(LOAD_BMP(img_path))
1921
} ELSE {
2022
THROW("Unsupported image format: ",ext)
2123
}
@@ -89,7 +91,7 @@ FUNC TNS: RECT(TNS: img, INT: x, INT: y, INT: width, INT: height, TNS: color, IN
8991
[x, ADD(y, SUB(height, 0d1))], ^
9092
[x, y] ^
9193
]
92-
RETURN(image.POLYGON(img, pts, color, fill, thickness))
94+
RETURN(POLYGON(img, pts, color, fill, thickness))
9395
}
9496

9597
FUNC TNS: RECTANGLE(TNS: img, INT: x, INT: y, INT: width, INT: height, TNS: color, INT: fill, INT: thickness){
@@ -101,15 +103,15 @@ FUNC TNS: FILL_RECT(TNS: img, INT: x, INT: y, INT: width, INT: height, TNS: colo
101103
}
102104

103105
FUNC TNS: FILL_ELLIPSE(TNS: img, TNS: center, INT: rx, INT: ry, TNS: color){
104-
RETURN(image.ELLIPSE(img, center, rx, ry, color, 0d1, 0d1))
106+
RETURN(ELLIPSE(img, center, rx, ry, color, 0d1, 0d1))
105107
}
106108

107109
FUNC TNS: SQUARE(TNS: img, INT: x, INT: y, INT: size, TNS: color, INT: fill, INT: thickness){
108110
RETURN(RECT(img, x, y, size, size, color, fill, thickness))
109111
}
110112

111113
FUNC TNS: CIRCLE(TNS: img, TNS: center, INT: radius, TNS: color, INT: fill, INT: thickness){
112-
RETURN(image.ELLIPSE(img, center, radius, radius, color, fill, thickness))
114+
RETURN(ELLIPSE(img, center, radius, radius, color, fill, thickness))
113115
}
114116

115117
FUNC TNS: CROP(TNS: img, TNS: corners){
@@ -123,7 +125,7 @@ FUNC BOOL: SHOW(TNS: img){
123125
! Save the image to the provided path and open it with the system default
124126
! viewer on Windows. `img_path` is treated as the target file path.
125127
STR: img_path = "C:/Windows/Temp/tmp_img.png"
126-
image.SAVE_PNG(img, img_path, 0d0)
128+
SAVE_PNG(img, img_path, 0d0)
127129
! ShellExecuteW(hwnd, operation, file, params, dir, showcmd)
128130
! Use NULL hwnd (0), operation "open", empty params and dir, showcmd=1
129131
win32.WIN_CALL("shell32", "ShellExecuteW", "PSSSSI", "P", 0d0, "open", img_path, "", "", 0d1)

0 commit comments

Comments
 (0)