cmdfx 0.3.2
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
55int areCharArraysSameSize(char** array1, char** array2);
56
68int compareCharArrays(char** array1, char** array2);
69
78int printCharArray(char** array);
79
80// Core Functions (Character)
81
98char** Char2DBuilder_create(int width, int height);
99
118char** Char2DBuilder_createFilled(int width, int height, char c);
119
133int Char2DBuilder_setChar(char** array, int x, int y, char c);
134
148int Char2DBuilder_hLine(char** array, int x, int y, int width, char c);
149
163int Char2DBuilder_vLine(char** array, int x, int y, int height, char c);
164
180 char** array, int x, int y, int width, int height, char c
181);
182
194 char** array, int x, int y, int width, int height, char c
195);
196
203int Char2DBuilder_fill(char** array, char c);
204
214int Char2DBuilder_circle(char** array, int x, int y, int radius, char c);
215
225int Char2DBuilder_fillCircle(char** array, int x, int y, int radius, char c);
226
238 char** array, int x, int y, int xradius, int yradius, char c
239);
240
252 char** array, int x, int y, int xradius, int yradius, char c
253);
254
265int Char2DBuilder_line(char** array, int x1, int y1, int x2, int y2, char c);
266
283 char** array, int x, int y, int sides, int radius, char c
284);
285
302 char** array, int x, int y, int sides, int radius, char c
303);
304
318int Char2DBuilder_text(char** array, int x, int y, char* text);
319
320// Utility Functions - Sizing
321
336int Char2DBuilder_resize(char** array, int width, int height);
337
355 char** array, int width, int height, char padding
356);
357
368int Char2DBuilder_center(char** array);
369
384int Char2DBuilder_resizeAndCenter(char** array, int width, int height);
385
386// Utility Functions - Transformation
387
398int Char2DBuilder_rotate(char** array, double radians);
399
413
420int Char2DBuilder_hFlip(char** array);
421
428int Char2DBuilder_vFlip(char** array);
429
440char** Char2DBuilder_transpose(char** array);
441
451int Char2DBuilder_replaceAll(char** array, char find, char replace);
452
465char** Char2DBuilder_scale(char** array, double scale);
466
467// Utility Functions - Gradient
468
519
541 char** array, int x, int y, int width, int height, char start, char end,
542 enum CmdFX_GradientDirection direction
543);
544
566 char** array, int x, int y, int width, int height, int numChars,
567 char* gradient, enum CmdFX_GradientDirection direction
568);
569
592 char** array, int x, int y, int width, int height, int numChars,
593 char* gradient, double* percentages, enum CmdFX_GradientDirection direction
594);
595
612 char** array, char start, char end, enum CmdFX_GradientDirection direction
613);
614
632 char** array, int numChars, char* gradient,
633 enum CmdFX_GradientDirection direction
634);
635
654 char** array, int numChars, char* gradient, double* percentages,
655 enum CmdFX_GradientDirection direction
656);
657
658#pragma endregion
659
660#pragma region String Builder
661
662// Utility Functions - General (String)
663
669int getStringArrayWidth(char*** array);
670
676int getStringArrayHeight(char*** array);
677
683char*** createStringArrayCopy(char*** array);
684
694int clearStringArray(char*** array);
695
708int areStringArraysSameSize(char*** array1, char*** array2);
709
721int compareStringArrays(char*** array1, char*** array2);
722
732int printStringArray(char*** array);
733
734// Core Functions (String)
735
746char*** String2DBuilder_create(int width, int height);
747
760char*** String2DBuilder_createFilled(int width, int height, char* c);
761
781int String2DBuilder_setString(char*** array, int x, int y, char* c);
782
793int String2DBuilder_hLine(char*** array, int x, int y, int width, char* c);
794
805int String2DBuilder_vLine(char*** array, int x, int y, int height, char* c);
806
819 char*** array, int x, int y, int width, int height, char* c
820);
821
834 char*** array, int x, int y, int width, int height, char* c
835);
836
844int String2DBuilder_fill(char*** array, char* c);
845
856int String2DBuilder_circle(char*** array, int x, int y, int radius, char* c);
857
869 char*** array, int x, int y, int radius, char* c
870);
871
884 char*** array, int x, int y, int xradius, int yradius, char* c
885);
886
899 char*** array, int x, int y, int xradius, int yradius, char* c
900);
901
914 char*** array, int x1, int y1, int x2, int y2, char* c
915);
916
933 char*** array, int x, int y, int sides, int radius, char* c
934);
935
952 char*** array, int x, int y, int sides, int radius, char* c
953);
954
955// Utility Functions - Transformation (String)
956
967int String2DBuilder_rotate(char*** array, double radians);
968
975int String2DBuilder_hFlip(char*** array);
976
983int String2DBuilder_vFlip(char*** array);
984
995char*** String2DBuilder_transpose(char*** array);
996
1006int String2DBuilder_replaceAll(char*** array, char* find, char* replace);
1007
1020char*** String2DBuilder_scale(char*** array, double scale);
1021
1022// Utility Functions - Gradients (String)
1023
1044 char*** array, int x, int y, int width, int height, int start, int end,
1045 enum CmdFX_GradientDirection direction
1046);
1047
1068 char*** array, int x, int y, int width, int height, int start, int end,
1069 enum CmdFX_GradientDirection direction
1070);
1071
1093 char*** array, int x, int y, int width, int height, int numColors,
1094 int* colors, enum CmdFX_GradientDirection direction
1095);
1096
1118 char*** array, int x, int y, int width, int height, int numColors,
1119 int* colors, enum CmdFX_GradientDirection direction
1120);
1121
1144 char*** array, int x, int y, int width, int height, int numColors,
1145 int* colors, double* percentages, enum CmdFX_GradientDirection direction
1146);
1147
1170 char*** array, int x, int y, int width, int height, int numColors,
1171 int* colors, double* percentages, enum CmdFX_GradientDirection direction
1172);
1173
1191 char*** array, int start, int end, enum CmdFX_GradientDirection direction
1192);
1193
1211 char*** array, int start, int end, enum CmdFX_GradientDirection direction
1212);
1213
1231 char*** array, int numColors, int* colors,
1232 enum CmdFX_GradientDirection direction
1233);
1234
1252 char*** array, int numColors, int* colors,
1253 enum CmdFX_GradientDirection direction
1254);
1255
1274 char*** array, int numColors, int* colors, double* percentages,
1275 enum CmdFX_GradientDirection direction
1276);
1277
1296 char*** array, int numColors, int* colors, double* percentages,
1297 enum CmdFX_GradientDirection direction
1298);
1299
1300#pragma endregion
1301
1302#ifdef __cplusplus
1303}
1304#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:477
@ GRADIENT_VERTICAL_REVERSE
A vertical gradient in reverse.
Definition builder.h:493
@ GRADIENT_ANGLE_45
A 45-degree gradient.
Definition builder.h:497
@ GRADIENT_ANGLE_225
A 225-degree gradient.
Definition builder.h:505
@ GRADIENT_HORIZONTAL
A horizontal gradient.
Definition builder.h:481
@ GRADIENT_ANGLE_135
A 135-degree gradient.
Definition builder.h:501
@ GRADIENT_RADIAL
A radial gradient.
Definition builder.h:513
@ GRADIENT_CONICAL
A conical gradient.
Definition builder.h:517
@ GRADIENT_ANGLE_315
A 315-degree gradient.
Definition builder.h:509
@ GRADIENT_VERTICAL
A vertical gradient.
Definition builder.h:489
@ GRADIENT_HORIZONTAL_REVERSE
A horizontal gradient in reverse.
Definition builder.h:485
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.