aboutsummaryrefslogtreecommitdiff
path: root/src/crepe
diff options
context:
space:
mode:
authorheavydemon21 <nielsstunnebrink1@gmail.com>2024-12-20 15:26:51 +0100
committerheavydemon21 <nielsstunnebrink1@gmail.com>2024-12-20 15:26:51 +0100
commite5b57f6a0aadf4f5ca597e4ffa3e557eec87b54b (patch)
tree9da46e198d4b4e371df9209d750c00afb11b58d1 /src/crepe
parent0ba89eff9283d5f9f59fa763a19f4616f1c66d74 (diff)
add world space to text rendering and removedlayers on text
Diffstat (limited to 'src/crepe')
-rw-r--r--src/crepe/api/Text.h6
-rw-r--r--src/crepe/facade/SDLContext.cpp16
2 files changed, 11 insertions, 11 deletions
diff --git a/src/crepe/api/Text.h b/src/crepe/api/Text.h
index da40141..fb5c7e5 100644
--- a/src/crepe/api/Text.h
+++ b/src/crepe/api/Text.h
@@ -28,12 +28,6 @@ public:
*/
unsigned int font_size = 16;
- //! Layer sorting level of the text
- const int sorting_in_layer = 0;
-
- //! Order within the sorting text
- const int order_in_layer = 0;
-
//! Label text color.
Color text_color = Color::BLACK;
};
diff --git a/src/crepe/facade/SDLContext.cpp b/src/crepe/facade/SDLContext.cpp
index 64c1fe2..9c45089 100644
--- a/src/crepe/facade/SDLContext.cpp
+++ b/src/crepe/facade/SDLContext.cpp
@@ -68,7 +68,7 @@ SDLContext::SDLContext(Mediator & mediator) {
throw runtime_error(format("SDL_ttf initialization failed: {}", TTF_GetError()));
}
- SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "1");
+ SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "2");
mediator.sdl_context = *this;
}
@@ -232,10 +232,16 @@ void SDLContext::draw_text(const RenderText & data) {
= {tmp_font_texture, [](SDL_Texture * texture) { SDL_DestroyTexture(texture); }};
vec2 size = text.dimensions * cam_aux_data.render_scale * data.transform.scale;
- vec2 screen_pos
- = (absoluut_pos - cam_aux_data.cam_pos + (cam_aux_data.zoomed_viewport) / 2)
- * cam_aux_data.render_scale
- - size / 2 + cam_aux_data.bar_size;
+ vec2 screen_pos = absoluut_pos;
+ if (text.world_space) {
+ screen_pos = (screen_pos - cam_aux_data.cam_pos + (cam_aux_data.zoomed_viewport) / 2)
+ * cam_aux_data.render_scale
+ - size / 2 + cam_aux_data.bar_size;
+ } else {
+ screen_pos
+ = (screen_pos + (cam_aux_data.zoomed_viewport) / 2) * cam_aux_data.render_scale
+ - size / 2 + cam_aux_data.bar_size;
+ }
SDL_FRect dstrect{
.x = screen_pos.x,