// Copyright (c) 2024 Epic Games Tools // Licensed under the MIT license (https://opensource.org/license/mit/) //- GENERATED CODE #ifndef DRAW_META_H #define DRAW_META_H typedef struct DR_Tex2DSampleKindNode DR_Tex2DSampleKindNode; struct DR_Tex2DSampleKindNode {DR_Tex2DSampleKindNode *next; R_Tex2DSampleKind v;}; typedef struct DR_XForm2DNode DR_XForm2DNode; struct DR_XForm2DNode {DR_XForm2DNode *next; Mat3x3F32 v;}; typedef struct DR_ClipNode DR_ClipNode; struct DR_ClipNode {DR_ClipNode *next; Rng2F32 v;}; typedef struct DR_TransparencyNode DR_TransparencyNode; struct DR_TransparencyNode {DR_TransparencyNode *next; F32 v;}; #define DR_BucketStackDecls struct{\ DR_Tex2DSampleKindNode *top_tex2d_sample_kind;\ DR_XForm2DNode *top_xform2d;\ DR_ClipNode *top_clip;\ DR_TransparencyNode *top_transparency;\ } read_only global DR_Tex2DSampleKindNode dr_nil_tex2d_sample_kind = {0, R_Tex2DSampleKind_Nearest}; read_only global DR_XForm2DNode dr_nil_xform2d = {0, {1, 0, 0, 0, 1, 0, 0, 0, 1}}; read_only global DR_ClipNode dr_nil_clip = {0, {0}}; read_only global DR_TransparencyNode dr_nil_transparency = {0, 0}; #define DR_BucketStackInits(b) do{\ (b)->top_tex2d_sample_kind = &dr_nil_tex2d_sample_kind;\ (b)->top_xform2d = &dr_nil_xform2d;\ (b)->top_clip = &dr_nil_clip;\ (b)->top_transparency = &dr_nil_transparency;\ }while(0) #if 0 internal R_Tex2DSampleKind dr_push_tex2d_sample_kind(R_Tex2DSampleKind v); internal Mat3x3F32 dr_push_xform2d(Mat3x3F32 v); internal Rng2F32 dr_push_clip(Rng2F32 v); internal F32 dr_push_transparency(F32 v); internal R_Tex2DSampleKind dr_pop_tex2d_sample_kind(void); internal Mat3x3F32 dr_pop_xform2d(void); internal Rng2F32 dr_pop_clip(void); internal F32 dr_pop_transparency(void); internal R_Tex2DSampleKind dr_top_tex2d_sample_kind(void); internal Mat3x3F32 dr_top_xform2d(void); internal Rng2F32 dr_top_clip(void); internal F32 dr_top_transparency(void); #endif #if 0 #define DR_Tex2DSampleKindScope(v) DeferLoop(dr_push_tex2d_sample_kind(v), dr_pop_tex2d_sample_kind()) #define DR_XForm2DScope(v) DeferLoop(dr_push_xform2d(v), dr_pop_xform2d()) #define DR_ClipScope(v) DeferLoop(dr_push_clip(v), dr_pop_clip()) #define DR_TransparencyScope(v) DeferLoop(dr_push_transparency(v), dr_pop_transparency()) #endif #endif // DRAW_META_H