| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- package karl2d_palette
- import k2 "../.."
- import "core:log"
- import "core:fmt"
- _ :: fmt
- tex: k2.Texture
- init :: proc() {
- k2.init(1470, 1530, "Karl2D Palette Demo")
- }
- step :: proc() -> bool {
- k2.new_frame()
- k2.process_events()
- k2.clear(k2.WHITE)
- k2.draw_rect({0, 0, f32(k2.get_screen_width() / 2), f32(k2.get_screen_height())}, k2.BLACK)
- colors := [?]k2.Color {
- k2.BLACK,
- k2.WHITE,
- k2.GRAY,
- k2.DARK_GRAY,
- k2.BLUE,
- k2.DARK_BLUE,
- k2.LIGHT_BLUE,
- k2.GREEN,
- k2.DARK_GREEN,
- k2.LIGHT_GREEN,
- k2.RED,
- k2.LIGHT_RED,
- k2.DARK_RED,
- k2.LIGHT_PURPLE,
- k2.YELLOW,
- k2.LIGHT_YELLOW,
- k2.MAGENTA,
- }
- color_names := [?]string {
- "BLACK",
- "WHITE",
- "GRAY",
- "DARK_GRAY",
- "BLUE",
- "DARK_BLUE",
- "LIGHT_BLUE",
- "GREEN",
- "DARK_GREEN",
- "LIGHT_GREEN",
- "RED",
- "LIGHT_RED",
- "DARK_RED",
- "LIGHT_PURPLE",
- "YELLOW",
- "LIGHT_YELLOW",
- "MAGENTA",
- }
- x := f32(290)
- y := f32(0)
- PAD :: 20
- SW :: 50
- SH :: 50
- for bg, i in colors {
- k2.draw_rect({x, y, 890, SH+PAD*2}, bg)
- k2.draw_text(color_names[i], {x + 890+PAD, y+25}, 40, bg)
- color_name_width := k2.measure_text(color_names[i], 40)
- k2.draw_text(color_names[i], {290-color_name_width.x-PAD, y+25}, 40, bg)
- for c in colors {
- k2.draw_rect({x + PAD, y + PAD, SW, SH}, c)
- x += SW
- }
- x = 290
- y += SH + PAD*2
- }
- k2.present()
- free_all(context.temp_allocator)
- return !k2.shutdown_wanted()
- }
- shutdown :: proc() {
- k2.destroy_texture(tex)
- k2.shutdown()
- }
- main :: proc() {
- context.logger = log.create_console_logger()
- init()
- run := true
- for run {
- run = step()
- }
- shutdown()
- }
|