diff options
author | dec05eba <dec05eba@protonmail.com> | 2021-10-24 04:52:30 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2021-10-24 04:52:30 +0200 |
commit | 115630b520668304af1ccd3eb0b13c06e17ecccc (patch) | |
tree | e3949bd4fe36ae3b43c11d4e9ecd0bf523a6e910 /include | |
parent | 898b8c95f1f904307c02e978b57301cf1cb0560f (diff) |
Add function to load image from memory, initialize window from an existing window, allow creating text without font/string
Diffstat (limited to 'include')
-rw-r--r-- | include/mgl/graphics/image.h | 1 | ||||
-rw-r--r-- | include/mgl/graphics/sprite.h | 2 | ||||
-rw-r--r-- | include/mgl/graphics/text.h | 13 | ||||
-rw-r--r-- | include/mgl/window/window.h | 1 |
4 files changed, 12 insertions, 5 deletions
diff --git a/include/mgl/graphics/image.h b/include/mgl/graphics/image.h index b10a028..40625bb 100644 --- a/include/mgl/graphics/image.h +++ b/include/mgl/graphics/image.h @@ -21,6 +21,7 @@ struct mgl_image { }; int mgl_image_load_from_file(mgl_image *self, const char *filepath); +int mgl_image_load_from_memory(mgl_image *self, const unsigned char *data, size_t size); void mgl_image_unload(mgl_image *self); size_t mgl_image_get_size(mgl_image *self); diff --git a/include/mgl/graphics/sprite.h b/include/mgl/graphics/sprite.h index 8c84153..03f81ab 100644 --- a/include/mgl/graphics/sprite.h +++ b/include/mgl/graphics/sprite.h @@ -8,7 +8,7 @@ typedef struct mgl_context mgl_context; typedef struct mgl_texture mgl_texture; typedef struct { - mgl_texture *texture; + mgl_texture *texture; /* nullable */ mgl_color color; mgl_vec2f position; mgl_vec2f scale; diff --git a/include/mgl/graphics/text.h b/include/mgl/graphics/text.h index 33c75d0..2c2eeaf 100644 --- a/include/mgl/graphics/text.h +++ b/include/mgl/graphics/text.h @@ -8,18 +8,23 @@ typedef struct mgl_font mgl_font; typedef struct mgl_context mgl_context; typedef struct { - mgl_font *font; - const char *text; + mgl_font *font; /* nullable */ + const char *text; /* nullable */ mgl_color color; mgl_vec2f position; } mgl_text; -/* Note: keeps a reference to |text|. |text| needs to be valid as long as |self| is used. */ +/* + Note: keeps a reference to |text|. |text| needs to be valid as long as |self| is used. + |font| and |text| may be NULL. +*/ int mgl_text_init(mgl_text *self, mgl_font *font, const char *text, float x, float y); void mgl_text_deinit(mgl_text *self); -/* Note: keeps a reference to |text|. |text| needs to be valid as long as |self| is used. */ +/* Note: keeps a reference to |text|. |text| needs to be valid as long as |self| is used. |text| may be NULL. */ void mgl_text_set_string(mgl_text *self, const char *str); +/* |font| may be NULL */ +void mgl_text_set_font(mgl_text *self, mgl_font *font); void mgl_text_set_position(mgl_text *self, mgl_vec2f position); void mgl_text_set_color(mgl_text *self, mgl_color color); void mgl_text_draw(mgl_context *context, mgl_text *text); diff --git a/include/mgl/window/window.h b/include/mgl/window/window.h index c1517da..c1542b4 100644 --- a/include/mgl/window/window.h +++ b/include/mgl/window/window.h @@ -20,6 +20,7 @@ struct mgl_window { int mgl_window_create(mgl_window *self, const char *title, int width, int height); /* if |parent_window| is 0 then the root window is used */ int mgl_window_create_with_params(mgl_window *self, const char *title, int width, int height, mgl_window_handle parent_window); +int mgl_window_init_from_existing_window(mgl_window *self, mgl_window_handle existing_window); void mgl_window_deinit(mgl_window *self); void mgl_window_clear(mgl_window *self, mgl_color color); |