Sha256: ed0b2a995b81c40712a1241a364789f8e9a4491f8b8dca41358ebac8768952e8

Contents?: true

Size: 1.03 KB

Versions: 2

Compression:

Stored size: 1.03 KB

Contents

#ifndef SAY_VIEW_H_
#define SAY_VIEW_H_

#include "say_matrix.h"
#include "say_shader.h"

typedef struct {
  say_matrix *matrix;
  uint8_t matrix_updated;
  uint8_t custom_matrix;
  uint8_t has_changed;

  say_vector2 size;
  say_vector2 center;

  say_rect viewport;
  uint8_t viewport_changed;
} say_view;

say_view *say_view_create();
void say_view_free(say_view *view);
void say_view_copy(say_view *view, say_view *other);

void say_view_zoom_by(say_view *view, say_vector2 scale);

void say_view_set_size(say_view *view, say_vector2 size);
void say_view_set_center(say_view *view, say_vector2 center);
void say_view_set_viewport(say_view *view, say_rect viewport);

say_vector2 say_view_get_size(say_view *view);
say_vector2 say_view_get_center(say_view *view);
say_rect say_view_get_viewport(say_view *view);

say_matrix *say_view_get_matrix(say_view *view);
void say_view_set_matrix(say_view *view, say_matrix *matrix);

uint8_t say_view_has_changed(say_view *view);
void say_view_apply(say_view *view, say_shader *shader, say_vector2 size);

#endif

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ray-0.2.1 ext/say_view.h
ray-0.2.0 ext/say_view.h