feat(kotlin-compose): design system + 33 components + gallery_kt + e2e android emulator + scaffolder fixes
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
#pragma once
|
||||
|
||||
// camera_2d — pure orthographic 2D camera (issue 0072b).
|
||||
// No state, no I/O. World <-> screen transforms + ortho view-projection matrix.
|
||||
|
||||
#include "../core/math2d.h"
|
||||
|
||||
namespace fn::cam {
|
||||
|
||||
struct Camera2D {
|
||||
fn::math2d::Vec2 pos = {0.0f, 0.0f}; // world position of camera center
|
||||
float zoom = 1.0f; // 1 = no zoom; >1 zoom in
|
||||
float rotation = 0.0f; // radians
|
||||
int viewport_w = 1280;
|
||||
int viewport_h = 720;
|
||||
};
|
||||
|
||||
fn::math2d::Vec2 world_to_screen(const Camera2D& c, fn::math2d::Vec2 world);
|
||||
fn::math2d::Vec2 screen_to_world(const Camera2D& c, fn::math2d::Vec2 screen);
|
||||
fn::math2d::Rect visible_world_rect(const Camera2D& c);
|
||||
|
||||
// Column-major 4x4 view-projection matrix (orthographic).
|
||||
void view_proj_matrix(const Camera2D& c, float out[16]);
|
||||
|
||||
} // namespace fn::cam
|
||||
Reference in New Issue
Block a user