DRW: Add DRW_viewport_invert_size_get for more ease of use.

This commit is contained in:
Clément Foucault 2018-03-13 22:38:07 +01:00
parent f7f3b08977
commit e22bc559b0
3 changed files with 13 additions and 1 deletions

View File

@ -429,6 +429,7 @@ void DRW_viewport_matrix_override_unset(DRWViewportMatrixType type);
void DRW_viewport_matrix_override_unset_all(void);
const float *DRW_viewport_size_get(void);
const float *DRW_viewport_invert_size_get(void);
const float *DRW_viewport_screenvecs_get(void);
const float *DRW_viewport_pixelsize_get(void);
bool DRW_viewport_is_persp_get(void);

View File

@ -297,7 +297,12 @@ void DRW_engine_viewport_data_size_get(
const float *DRW_viewport_size_get(void)
{
return &DST.size[0];
return DST.size;
}
const float *DRW_viewport_invert_size_get(void)
{
return DST.inv_size;
}
const float *DRW_viewport_screenvecs_get(void)
@ -364,6 +369,8 @@ static void drw_viewport_var_init(void)
GPU_viewport_size_get(DST.viewport, size);
DST.size[0] = size[0];
DST.size[1] = size[1];
DST.inv_size[0] = 1.0f / size[0];
DST.inv_size[1] = 1.0f / size[1];
DefaultFramebufferList *fbl = (DefaultFramebufferList *)GPU_viewport_framebuffer_list_get(DST.viewport);
DST.default_framebuffer = fbl->default_fb;
@ -393,6 +400,9 @@ static void drw_viewport_var_init(void)
DST.size[0] = 0;
DST.size[1] = 0;
DST.inv_size[0] = 0;
DST.inv_size[1] = 0;
DST.default_framebuffer = NULL;
DST.vmempool = NULL;
}

View File

@ -278,6 +278,7 @@ typedef struct DRWManager {
GPUViewport *viewport;
struct GPUFrameBuffer *default_framebuffer;
float size[2];
float inv_size[2];
float screenvecs[2][3];
float pixsize;