cmdfx 0.2.1
Lightweight game engine for your terminal
Loading...
Searching...
No Matches
builder.h
Go to the documentation of this file.
1
11
12#pragma once
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18#pragma region Character Builder
19
20// Utility Functions - General (Character)
21
27int getCharArrayWidth(char** array);
28
34int getCharArrayHeight(char** array);
35
41char** createCharArrayCopy(char** array);
42
54int areCharArraysSameSize(char** array1, char** array2);
55
67int compareCharArrays(char** array1, char** array2);
68
77int printCharArray(char** array);
78
79// Core Functions (Character)
80
97char** Char2DBuilder_create(int width, int height);
98
116char** Char2DBuilder_createFilled(int width, int height, char c);
117
130int Char2DBuilder_setChar(char** array, int x, int y, char c);
131
145int Char2DBuilder_hLine(char** array, int x, int y, int width, char c);
146
160int Char2DBuilder_vLine(char** array, int x, int y, int height, char c);
161
176int Char2DBuilder_rect(char** array, int x, int y, int width, int height, char c);
177
188int Char2DBuilder_fillRect(char** array, int x, int y, int width, int height, char c);
189
196int Char2DBuilder_fill(char** array, char c);
197
207int Char2DBuilder_circle(char** array, int x, int y, int radius, char c);
208
218int Char2DBuilder_fillCircle(char** array, int x, int y, int radius, char c);
219
230int Char2DBuilder_ellipse(char** array, int x, int y, int xradius, int yradius, char c);
231
242int Char2DBuilder_fillEllipse(char** array, int x, int y, int xradius, int yradius, char c);
243
254int Char2DBuilder_line(char** array, int x1, int y1, int x2, int y2, char c);
255
271int Char2DBuilder_polygon(char** array, int x, int y, int sides, int radius, char c);
272
288int Char2DBuilder_fillPolygon(char** array, int x, int y, int sides, int radius, char c);
289
303int Char2DBuilder_text(char** array, int x, int y, char* text);
304
305// Utility Functions - Sizing
306
320int Char2DBuilder_resize(char** array, int width, int height);
321
336int Char2DBuilder_resizeWithPadding(char** array, int width, int height, char padding);
337
348int Char2DBuilder_center(char** array);
349
363int Char2DBuilder_resizeAndCenter(char** array, int width, int height);
364
365// Utility Functions - Transformation
366
377int Char2DBuilder_rotate(char** array, double radians);
378
391
398int Char2DBuilder_hFlip(char** array);
399
406int Char2DBuilder_vFlip(char** array);
407
418char** Char2DBuilder_transpose(char** array);
419
428int Char2DBuilder_replaceAll(char** array, char find, char replace);
429
442char** Char2DBuilder_scale(char** array, double scale);
443
444// Utility Functions - Gradient
445
495
516int Char2DBuilder_gradient(char** array, int x, int y, int width, int height, char start, char end, enum CmdFX_GradientDirection direction);
517
538int Char2DBuilder_multiGradient(char** array, int x, int y, int width, int height, int numChars, char* gradient, enum CmdFX_GradientDirection direction);
539
561int Char2DBuilder_multiGradients(char** array, int x, int y, int width, int height, int numChars, char* gradient, double* percentages, enum CmdFX_GradientDirection direction);
562
578int Char2DBuilder_gradientFull(char** array, char start, char end, enum CmdFX_GradientDirection direction);
579
596int Char2DBuilder_multiGradientFull(char** array, int numChars, char* gradient, enum CmdFX_GradientDirection direction);
597
615int Char2DBuilder_multiGradientsFull(char** array, int numChars, char* gradient, double* percentages, enum CmdFX_GradientDirection direction);
616
617#pragma endregion
618
619#pragma region String Builder
620
621// Utility Functions - General (String)
622
628int getStringArrayWidth(char*** array);
629
635int getStringArrayHeight(char*** array);
636
642char*** createStringArrayCopy(char*** array);
643
653int clearStringArray(char*** array);
654
666int areStringArraysSameSize(char*** array1, char*** array2);
667
679int compareStringArrays(char*** array1, char*** array2);
680
690int printStringArray(char*** array);
691
692// Core Functions (String)
693
704char*** String2DBuilder_create(int width, int height);
705
717char*** String2DBuilder_createFilled(int width, int height, char* c);
718
737int String2DBuilder_setString(char*** array, int x, int y, char* c);
738
749int String2DBuilder_hLine(char*** array, int x, int y, int width, char* c);
750
761int String2DBuilder_vLine(char*** array, int x, int y, int height, char* c);
762
774int String2DBuilder_rect(char*** array, int x, int y, int width, int height, char* c);
775
787int String2DBuilder_fillRect(char*** array, int x, int y, int width, int height, char* c);
788
789
797int String2DBuilder_fill(char*** array, char* c);
798
809int String2DBuilder_circle(char*** array, int x, int y, int radius, char* c);
810
821int String2DBuilder_fillCircle(char*** array, int x, int y, int radius, char* c);
822
834int String2DBuilder_ellipse(char*** array, int x, int y, int xradius, int yradius, char* c);
835
847int String2DBuilder_fillEllipse(char*** array, int x, int y, int xradius, int yradius, char* c);
848
860int String2DBuilder_line(char*** array, int x1, int y1, int x2, int y2, char* c);
861
877int String2DBuilder_polygon(char*** array, int x, int y, int sides, int radius, char* c);
878
894int String2DBuilder_fillPolygon(char*** array, int x, int y, int sides, int radius, char* c);
895
896// Utility Functions - Transformation (String)
897
908int String2DBuilder_rotate(char*** array, double radians);
909
916int String2DBuilder_hFlip(char*** array);
917
924int String2DBuilder_vFlip(char*** array);
925
936char*** String2DBuilder_transpose(char*** array);
937
946int String2DBuilder_replaceAll(char*** array, char* find, char* replace);
947
960char*** String2DBuilder_scale(char*** array, double scale);
961
962// Utility Functions - Gradients (String)
963
983int String2DBuilder_gradientForeground(char*** array, int x, int y, int width, int height, int start, int end, enum CmdFX_GradientDirection direction);
984
1004int String2DBuilder_gradientBackground(char*** array, int x, int y, int width, int height, int start, int end, enum CmdFX_GradientDirection direction);
1005
1026int String2DBuilder_multiGradientForeground(char*** array, int x, int y, int width, int height, int numColors, int* colors, enum CmdFX_GradientDirection direction);
1027
1048int String2DBuilder_multiGradientBackground(char*** array, int x, int y, int width, int height, int numColors, int* colors, enum CmdFX_GradientDirection direction);
1049
1071int String2DBuilder_multiGradientsForeground(char*** array, int x, int y, int width, int height, int numColors, int* colors, double* percentages, enum CmdFX_GradientDirection direction);
1072
1094int String2DBuilder_multiGradientsBackground(char*** array, int x, int y, int width, int height, int numColors, int* colors, double* percentages, enum CmdFX_GradientDirection direction);
1095
1112int String2DBuilder_gradientForegroundFull(char*** array, int start, int end, enum CmdFX_GradientDirection direction);
1113
1130int String2DBuilder_gradientBackgroundFull(char*** array, int start, int end, enum CmdFX_GradientDirection direction);
1131
1148int String2DBuilder_multiGradientForegroundFull(char*** array, int numColors, int* colors, enum CmdFX_GradientDirection direction);
1149
1166int String2DBuilder_multiGradientBackgroundFull(char*** array, int numColors, int* colors, enum CmdFX_GradientDirection direction);
1167
1185int String2DBuilder_multiGradientsForegroundFull(char*** array, int numColors, int* colors, double* percentages, enum CmdFX_GradientDirection direction);
1186
1204int String2DBuilder_multiGradientsBackgroundFull(char*** array, int numColors, int* colors, double* percentages, enum CmdFX_GradientDirection direction);
1205
1206#pragma endregion
1207
1208#ifdef __cplusplus
1209}
1210#endif
int String2DBuilder_gradientBackgroundFull(char ***array, int start, int end, enum CmdFX_GradientDirection direction)
Sets a background gradient in a 2D String Array.
int Char2DBuilder_vFlip(char **array)
Flips a 2D Character Array vertically.
CmdFX_GradientDirection
Represents a color gradient that can be applied .
Definition builder.h:453
@ GRADIENT_VERTICAL_REVERSE
A vertical gradient in reverse.
Definition builder.h:469
@ GRADIENT_ANGLE_45
A 45-degree gradient.
Definition builder.h:473
@ GRADIENT_ANGLE_225
A 225-degree gradient.
Definition builder.h:481
@ GRADIENT_HORIZONTAL
A horizontal gradient.
Definition builder.h:457
@ GRADIENT_ANGLE_135
A 135-degree gradient.
Definition builder.h:477
@ GRADIENT_RADIAL
A radial gradient.
Definition builder.h:489
@ GRADIENT_CONICAL
A conical gradient.
Definition builder.h:493
@ GRADIENT_ANGLE_315
A 315-degree gradient.
Definition builder.h:485
@ GRADIENT_VERTICAL
A vertical gradient.
Definition builder.h:465
@ GRADIENT_HORIZONTAL_REVERSE
A horizontal gradient in reverse.
Definition builder.h:461
int String2DBuilder_multiGradientBackgroundFull(char ***array, int numColors, int *colors, enum CmdFX_GradientDirection direction)
Sets a background gradient in a 2D String Array.
int String2DBuilder_hLine(char ***array, int x, int y, int width, char *c)
Draws a horizontal line in a 2D String Array.
int Char2DBuilder_gradient(char **array, int x, int y, int width, int height, char start, char end, enum CmdFX_GradientDirection direction)
Creates a gradient in a 2D Character Array.
int String2DBuilder_rotate(char ***array, double radians)
Rotates a 2D String Array.
char ** Char2DBuilder_scale(char **array, double scale)
Scales a 2D Character Array.
int areCharArraysSameSize(char **array1, char **array2)
Checks if two 2D Character Arrays are the same size.
int Char2DBuilder_fillPolygon(char **array, int x, int y, int sides, int radius, char c)
Fills a polygon in a 2D Character Array.
int Char2DBuilder_circle(char **array, int x, int y, int radius, char c)
Draws a circle in a 2D Character Array.
int clearStringArray(char ***array)
Clears a 2D String Array.
int Char2DBuilder_multiGradientFull(char **array, int numChars, char *gradient, enum CmdFX_GradientDirection direction)
Creates a multi-gradient in a 2D Character Array.
char *** String2DBuilder_scale(char ***array, double scale)
Scales a 2D String Array.
int String2DBuilder_fillEllipse(char ***array, int x, int y, int xradius, int yradius, char *c)
Fills an ellipse in a 2D String Array.
int Char2DBuilder_fillCircle(char **array, int x, int y, int radius, char c)
Fills a circle in a 2D Character Array.
int String2DBuilder_line(char ***array, int x1, int y1, int x2, int y2, char *c)
Draws a line in a 2D String Array.
int String2DBuilder_replaceAll(char ***array, char *find, char *replace)
Replaces all instances of an String in a 2D String Array.
int String2DBuilder_fill(char ***array, char *c)
Fills the entire 2D String Array.
int String2DBuilder_circle(char ***array, int x, int y, int radius, char *c)
Draws a circle in a 2D String Array.
int String2DBuilder_polygon(char ***array, int x, int y, int sides, int radius, char *c)
Draws a polygon in a 2D String Array.
int areStringArraysSameSize(char ***array1, char ***array2)
Checks if two 2D String Arrays are the same size.
int String2DBuilder_vFlip(char ***array)
Flips a 2D String Array vertically.
int String2DBuilder_gradientBackground(char ***array, int x, int y, int width, int height, int start, int end, enum CmdFX_GradientDirection direction)
Sets a background gradient in a 2D String Array.
int String2DBuilder_multiGradientForegroundFull(char ***array, int numColors, int *colors, enum CmdFX_GradientDirection direction)
Sets a foreground gradient in a 2D String Array.
int String2DBuilder_ellipse(char ***array, int x, int y, int xradius, int yradius, char *c)
Draws an ellipse in a 2D String Array.
int String2DBuilder_setString(char ***array, int x, int y, char *c)
Sets a string in a 2D String Array.
int Char2DBuilder_hFlip(char **array)
Flips a 2D Character Array horizontally.
int Char2DBuilder_fillRect(char **array, int x, int y, int width, int height, char c)
Fills a rectangle in a 2D Character Array.
int Char2DBuilder_rotate(char **array, double radians)
Rotates a 2D Character Array.
int String2DBuilder_fillRect(char ***array, int x, int y, int width, int height, char *c)
Fills a rectangle in a 2D String Array.
int String2DBuilder_multiGradientsForegroundFull(char ***array, int numColors, int *colors, double *percentages, enum CmdFX_GradientDirection direction)
Sets a foreground gradient in a 2D String Array.
int String2DBuilder_fillPolygon(char ***array, int x, int y, int sides, int radius, char *c)
Fills a polygon in a 2D String Array.
int compareStringArrays(char ***array1, char ***array2)
Compares two 2D String Arrays.
int printCharArray(char **array)
Prints a 2D Character Array.
int String2DBuilder_vLine(char ***array, int x, int y, int height, char *c)
Draws a vertical line in a 2D String Array.
int Char2DBuilder_replaceAll(char **array, char find, char replace)
Replaces all instances of a character in a 2D Character Array.
char ** Char2DBuilder_createFilled(int width, int height, char c)
Creates a 2D Character Array with a specific width and height, filled with a specific character.
int Char2DBuilder_polygon(char **array, int x, int y, int sides, int radius, char c)
Draws a polygon in a 2D Character Array.
int String2DBuilder_multiGradientsBackground(char ***array, int x, int y, int width, int height, int numColors, int *colors, double *percentages, enum CmdFX_GradientDirection direction)
Sets a background gradient in a 2D String Array.
int Char2DBuilder_setChar(char **array, int x, int y, char c)
Sets a character in a 2D Character Array.
int String2DBuilder_rect(char ***array, int x, int y, int width, int height, char *c)
Draws a rectangle in a 2D String Array.
int Char2DBuilder_gradientFull(char **array, char start, char end, enum CmdFX_GradientDirection direction)
Creates a full gradient in a 2D Character Array.
char ** Char2DBuilder_create(int width, int height)
Creates a 2D Character Array with a specific width and height.
int printStringArray(char ***array)
Prints a 2D String Array.
int Char2DBuilder_line(char **array, int x1, int y1, int x2, int y2, char c)
Draws a line in a 2D Character Array.
int getStringArrayHeight(char ***array)
Gets the height of a 2D String Array.
int Char2DBuilder_ellipse(char **array, int x, int y, int xradius, int yradius, char c)
Draws an ellipse in a 2D Character Array.
int String2DBuilder_multiGradientsForeground(char ***array, int x, int y, int width, int height, int numColors, int *colors, double *percentages, enum CmdFX_GradientDirection direction)
Sets a foreground gradient in a 2D String Array.
int Char2DBuilder_vLine(char **array, int x, int y, int height, char c)
Draws a vertical line in a 2D Character Array.
int String2DBuilder_multiGradientsBackgroundFull(char ***array, int numColors, int *colors, double *percentages, enum CmdFX_GradientDirection direction)
Sets a background gradient in a 2D String Array.
int Char2DBuilder_fill(char **array, char c)
Fills the entire 2D Character Array.
char *** String2DBuilder_createFilled(int width, int height, char *c)
Creates a 2D String Array with a specific width and height, filled with a specific string.
char *** createStringArrayCopy(char ***array)
Creates a copy of a 2D String Array.
double Char2DBuilder_getRotationAngle(char **array)
Gets the rotation angle of a 2D Character Array.
int String2DBuilder_gradientForeground(char ***array, int x, int y, int width, int height, int start, int end, enum CmdFX_GradientDirection direction)
Sets a foreground gradient in a 2D String Array.
char ** Char2DBuilder_transpose(char **array)
Transposes a 2D Character Array.
int String2DBuilder_gradientForegroundFull(char ***array, int start, int end, enum CmdFX_GradientDirection direction)
Sets a background gradient in a 2D String Array.
int Char2DBuilder_resize(char **array, int width, int height)
Resizes a 2D Character Array to a specific width and height.
int getStringArrayWidth(char ***array)
Gets the width of a 2D String Array.
int Char2DBuilder_multiGradient(char **array, int x, int y, int width, int height, int numChars, char *gradient, enum CmdFX_GradientDirection direction)
Creates a multi-gradient in a 2D Character Array.
int String2DBuilder_multiGradientBackground(char ***array, int x, int y, int width, int height, int numColors, int *colors, enum CmdFX_GradientDirection direction)
Sets a background gradient in a 2D String Array.
char *** String2DBuilder_create(int width, int height)
Creates a 2D String Array with a specific width and height.
int Char2DBuilder_multiGradients(char **array, int x, int y, int width, int height, int numChars, char *gradient, double *percentages, enum CmdFX_GradientDirection direction)
Creates a multi-gradient in a 2D Character Array with percentages.
int getCharArrayWidth(char **array)
Gets the width of a 2D Character Array.
int String2DBuilder_fillCircle(char ***array, int x, int y, int radius, char *c)
Fills a circle in a 2D String Array.
int Char2DBuilder_rect(char **array, int x, int y, int width, int height, char c)
Draws a rectangle in a 2D Character Array.
int compareCharArrays(char **array1, char **array2)
Compares two 2D Character Arrays.
int String2DBuilder_multiGradientForeground(char ***array, int x, int y, int width, int height, int numColors, int *colors, enum CmdFX_GradientDirection direction)
Sets a foreground gradient in a 2D String Array.
int Char2DBuilder_resizeAndCenter(char **array, int width, int height)
Resizes and centers a 2D Character Array.
int Char2DBuilder_multiGradientsFull(char **array, int numChars, char *gradient, double *percentages, enum CmdFX_GradientDirection direction)
Creates a multi-gradient in a 2D Character Array with percentages.
char *** String2DBuilder_transpose(char ***array)
Transposes a 2D String Array.
int Char2DBuilder_hLine(char **array, int x, int y, int width, char c)
Draws a horizontal line in a 2D Character Array.
int Char2DBuilder_text(char **array, int x, int y, char *text)
Writes text in a 2D Character Array.
int getCharArrayHeight(char **array)
Gets the height of a 2D Character Array.
char ** createCharArrayCopy(char **array)
Creates a copy of a 2D Character Array.
int Char2DBuilder_fillEllipse(char **array, int x, int y, int xradius, int yradius, char c)
Fills an ellipse in a 2D Character Array.
int Char2DBuilder_center(char **array)
Centers a 2D Character Array.
int Char2DBuilder_resizeWithPadding(char **array, int width, int height, char padding)
Resizes a 2D Character Array to a specific width and height with padding.
int String2DBuilder_hFlip(char ***array)
Flips a 2D String Array horizontally.