PEBL 2.2
Psychology Experiment Building Language - Cross-platform psychological experiment development system
PlatformFont.cpp File Reference
#include "PlatformFont.h"
#include "../../objects/PFont.h"
#include "../../objects/PColor.h"
#include "../../utility/PEBLUtility.h"
#include "../../utility/PEBLPath.h"
#include "../../utility/PError.h"
#include "../../base/Evaluator.h"
#include "SDL.h"
#include "SDL_ttf.h"
#include "SDL_rwops.h"
#include <stdio.h>
#include <iostream>

Go to the source code of this file.

Functions

long unsigned int getFileSize (FILE **file)
 
char * getFileBuffer (FILE **file, unsigned int fileSize)
 
unsigned long int readFileToMemory (const char path[], char **buffr)
 

Function Documentation

◆ getFileBuffer()

char * getFileBuffer ( FILE **  file,
unsigned int  fileSize 
)

Definition at line 87 of file sdl/PlatformFont.cpp.

87 {
88 char *buffer = (char*)malloc(fileSize + 1);
89 fread(buffer, sizeof(char),fileSize,*file);
90 return buffer;
91}

Referenced by readFileToMemory().

◆ getFileSize()

long unsigned int getFileSize ( FILE **  file)

Definition at line 77 of file sdl/PlatformFont.cpp.

77 {
78 long unsigned int size;
79 if(fseek(*file, 0, SEEK_END) == -1){ return -1; }
80 size = ftell(*file);
81 fseek(*file, 0, SEEK_SET);
82 return size;
83}

Referenced by readFileToMemory().

◆ readFileToMemory()

unsigned long int readFileToMemory ( const char  path[],
char **  buffr 
)

Definition at line 93 of file sdl/PlatformFont.cpp.

93 {
94
95 unsigned long int fileSize;
96 FILE *file = fopen(path, "rb");
97 if(file != NULL){
98 fileSize = getFileSize(&file);
99 //cerr << "FIlesize: " << fileSize << endl;
100 char* buff = getFileBuffer(&file,(unsigned int)fileSize);
101
102
103 (*buffr) = buff;
104
105
106 fclose(file);
107 return fileSize;
108 }else{
109 *buffr = NULL;
110 return 0;
111 }
112}
#define NULL
Definition BinReloc.cpp:317
char * getFileBuffer(FILE **file, unsigned int fileSize)
long unsigned int getFileSize(FILE **file)

References getFileBuffer(), getFileSize(), and NULL.