Files
c-prime/application/demos/example.opengl/engine/element.h

108 lines
1.5 KiB
C
Raw Normal View History

2025-11-17 10:28:09 +01:00
#ifndef _element
#define _element
// Macros
#include "stdlib.h"
extern char * __ClassNames[];
// Includes
#include <math.h>
#include <stdbool.h>
#include <stdarg.h>
#include "classConfiguration.h"
#include "char.h"
#include "vector.h"
#include "vector4.h"
#include "vector3.h"
#include "vector2.h"
typedef struct element{
int index;
vector3 position;
vector2 size;
vector3 backgroundColor;
vector3 originalPosition;
vector2 originalSize;
vector3 originalBackgroundColor;
float opacity;
char * backgroundImagePath;
bool useBackgroundImage;
int features;
vector_char_pointer * featureNames;
int textureIndex;
void * background;
} element;
void element_constructor( element * this );
vector4 element_colorConverter( element * this, char * hexValue );
void element_setOriginal( element * this );
void element_setter_size( element * this, vector2 a );
void element_setter_position( element * this, vector3 a );
bool element_featureIsEnabled( element * this, int featureValue );
int element_getFeatureValueByFeatureName( element * this, char * featureName );
int element_updateFeature( element * this );
void element_setter_background( element * this, int count, int datatypes[], ... );
void element_click( element * this );
void element_mousedown( element * this );
void element_mouseup( element * this );
void element_mouseover( element * this );
void element_mouseleave( element * this );
element element_new( );
element * element_newPointer( );
#endif
typedef struct element element;