7 CONSOLE_SCREEN_BUFFER_INFO
csbi;
44 if (newLine->
text==NULL){
47 newLine->
text[0] =
'\0';
62 if (newLine->
next!=NULL){
91 if (line->
prev!=NULL){
96 if (line->
next!=NULL){
99 if (line->
prev!=NULL){
119 while ((slider & 0x80) == 0x80){
129 dst[cursor] = src[cursor];
151 va_start(args, input);
164 while(buffer[i]!=
'\0'){
173 if (buffer[i]==
'\n'){
178 current = current->
next;
193 if(GetConsoleScreenBufferInfo(GetStdHandle( STD_OUTPUT_HANDLE ),&
csbi)) {
221 if (marginTopSize > 5){
225 for(i = 0; i < marginTopSize; i++){
231 const int MAX_CHARS_BORDER = 4;
234 if (collector==NULL){
240 int leftMarginSize = 1;
244 char* leftMargin = malloc(
sizeof(
char)*leftMarginSize+1);
245 if (leftMargin==NULL){
248 memset(leftMargin,
' ',leftMarginSize);
249 leftMargin[leftMarginSize] =
'\0';
252 strcat(collector,leftMargin);
258 strcat(collector,
"\n");
261 printf(
"%s",collector);
265 int leftPaddingSize = 0;
266 int rightPaddingSize;
268 while (current!=NULL){
270 switch (current->
align){
284 strcat(collector,leftMargin);
288 strcat(collector,current->
text);
292 strcat(collector,
"\n");
293 current = current->
next;
295 printf(
"%s",collector);
299 strcat(collector,leftMargin);
306 printf(
"%s",collector);
330 if (maxTextLength<1){
359 banner[0] =
"_________ _____ _____ __\n";
360 banner[1] =
"__ ____/________________________________ /_ __ // /\n";
361 banner[2] =
"_ / _ __ \\_ __ \\_ __ \\ _ \\ ___/ __/ _ // /_\n";
362 banner[3] =
"/ /___ / /_/ / / / / / / / __/ /__ / /_ /__ __/\n";
363 banner[4] =
"\\____/ \\____//_/ /_//_/ /_/\\___/\\___/ \\__/ /_/ \n";
365 char* bannerBuffer = malloc(
sizeof(
char)*(width+1)*5);
366 bannerBuffer[0] =
'\0';
367 for(i = startAt; i<5; i++){
369 strcat(bannerBuffer,banner[i]);
371 printf(
"%s",bannerBuffer);
379 int i = (slideIn ? 5 : 0);
380 while(i >= 0 && i <=5){
384 i += (slideIn ? -1 : +1);
421 for (i = 0; i < h; i++)
output(
"\n");
448 if(ch1 >=
'a' && ch1 <=
'z'){
449 ch2 = (
'A' + ch1 -
'a');
458 void strcatRepeat(
char* target,
const char* source,
unsigned int howOften){
460 for(c = 0; c < howOften; c++){
461 strcat(target,source);
char * FONT_DPIPE_TOP_LEFT
void setLineAlign(int align)
const int EXITCODE_OUTOFMEMORY
char * FONT_DPIPE_BOTTOM_LEFT
void printfBanner(int width, int startAt)
void deleteLineItem(struct LineItem *line, int deleteAllBelow)
char * FONT_DPIPE_BOTTOM_RIGHT
void printEmptyBox(int w, int h)
const int EXITCODE_BUFFERERROR
void strcatRepeat(char *target, const char *source, unsigned int howOften)
void animateBox(int wFrom, int hFrom, int wTo, int hTo)
char * FONT_DPIPE_VERT_BAR
const int OUTPUT_MAXBUFFER
int output(const char *input,...)
CONSOLE_SCREEN_BUFFER_INFO csbi
void startBuffer(int maxTextLength)
char * FONT_DPIPE_HORI_BAR
void animateBanner(int slideIn)
const int EXITCODE_WINDOWERROR
struct LineItem * insertNewLineItem(struct LineItem *prev, struct LineItem *next, int maxTextLength)
int copyChar(char *src, char *dst)
char * FONT_DPIPE_TOP_RIGHT
char lower_to_upper(char ch1)