Procházet zdrojové kódy

Fonts example on web

Karl Zylinski před 2 měsíci
rodič
revize
e182a099ae
4 změnil soubory, kde provedl 35 přidání a 19 odebrání
  1. 5 0
      .sublime/karl2d.sublime-project
  2. 29 15
      examples/fonts/fonts.odin
  3. 1 1
      karl2d.doc.odin
  4. 0 3
      karl2d.odin

+ 5 - 0
.sublime/karl2d.sublime-project

@@ -26,6 +26,11 @@
 					"shell_cmd": "odin run . -vet -strict-style -keep-executable -debug",
 					"working_dir": "$project_path/../examples/fonts"
 				},
+				{
+					"name": "fonts (web)",
+					"shell_cmd": "odin run build_web_example -- fonts",
+					"working_dir": "$project_path/../examples"
+				},
 				{
 					"name": "render_texture",
 					"shell_cmd": "odin run . -vet -strict-style -keep-executable -debug",

+ 29 - 15
examples/fonts/fonts.odin

@@ -5,27 +5,41 @@ import "core:log"
 
 main :: proc() {
 	context.logger = log.create_console_logger()
-	k2.init(1080, 1080, "Karl2D Fonts Program")
-	k2.set_window_position(300, 100)
 
-	cao_font := k2.load_font_from_file("cat_and_onion_dialogue_font.ttf")
-	default_font := k2.get_default_font()
+	init()
 
 	for !k2.shutdown_wanted() {
-		k2.process_events()
-		k2.clear(k2.BLUE)
+		step(0)
+	}
+
+	shutdown()
+}
+
+cat_and_onion_font: k2.Font_Handle
+
+init :: proc() {
+	k2.init(1080, 1080, "Karl2D Fonts Program")
+
+	cat_and_onion_font = k2.load_font_from_bytes(#load("cat_and_onion_dialogue_font.ttf"))
+}
 
-		font := default_font 
+step :: proc(dt: f32) -> bool {
+	k2.process_events()
+	k2.clear(k2.BLUE)
 
-		if k2.key_is_held(.K) {
-			font = cao_font
-		}
+	font := k2.get_default_font() 
 
-		k2.draw_text_ex(font, "Hellöpe! Hold K to swap font", {20, 20}, 64, k2.WHITE)
-		k2.present()
-		free_all(context.temp_allocator)
+	if k2.key_is_held(.K) {
+		font = cat_and_onion_font
 	}
 
-	k2.destroy_font(cao_font)
-	k2.shutdown()
+	k2.draw_text_ex(font, "Hellöpe! Hold K to swap font", {20, 20}, 64, k2.WHITE)
+	k2.present()
+	free_all(context.temp_allocator)
+	return true
 }
+
+shutdown :: proc() {
+	k2.destroy_font(cat_and_onion_font)
+	k2.shutdown()
+}

+ 1 - 1
karl2d.doc.odin

@@ -147,7 +147,7 @@ measure_text :: proc(text: string, font_size: f32) -> Vec2
 
 draw_text :: proc(text: string, pos: Vec2, font_size: f32, color: Color)
 
-draw_text_ex :: proc(font: Font_Handle, text: string, pos: Vec2, font_size: f32, color: Color)
+draw_text_ex :: proc(font_handle: Font_Handle, text: string, pos: Vec2, font_size: f32, color: Color)
 
 //--------------------//
 // TEXTURE MANAGEMENT //

+ 0 - 3
karl2d.odin

@@ -1359,9 +1359,6 @@ Texture :: struct {
 	handle: Texture_Handle,
 	width: int,
 	height: int,
-
-	// Hack to flip OpenGL render textures
-	flip_on_draw: bool,
 }
 
 Load_Texture_Option :: enum {