FireBirdLib - Topfield TMS PVR TAP Programming Library
LogoManager_GetLogoByLogoName.c
Go to the documentation of this file.
1#include <string.h>
2#include <stdlib.h>
3#include "libFireBird.h"
4#include "FBLib_LogoManager.h"
5
6TYPE_GrData *LogoManager_GetLogoByLogoName(char *LogoName, tLogoStyle LogoStyle, tLogoSize LogoSize, tLogoAspect LogoAR)
7{
9
10 int i;
11 TYPE_File *f;
12
14
15 for(i = 0; i < LogoManager_NrLogos; i++)
16 {
17 if(LogoManager_LogoData[i].Style == LogoStyle &&
18 LogoManager_LogoData[i].Size == LogoSize &&
19 LogoManager_LogoData[i].Aspect == LogoAR &&
20 !strcmp(LogoManager_LogoData[i].LogoName, LogoName))
21 {
22 if(!LogoManager_LogoData[i].grData)
23 {
24 //The graphics data is not yet available in memory. Load it
25 LogoManager_LogoData[i].grData = TAP_MemAlloc(LogoManager_LogoData[i].grDataSize);
26 if(!LogoManager_LogoData[i].grData)
27 {
28 TRACEEXIT();
29 return NULL;
30 }
31
34 f = TAP_Hdd_Fopen(LOGOCACHE);
35 if(f)
36 {
37 TAP_Hdd_Fseek(f, LogoManager_LogoData[i].CachePosition, SEEK_SET);
38 TAP_Hdd_Fread(LogoManager_LogoData[i].grData, LogoManager_LogoData[i].grDataSize, 1, f);
39 TAP_Hdd_Fclose(f);
40 LogoManager_LogoData[i].grData->data = (byte*)LogoManager_LogoData[i].grData + sizeof(TYPE_GrData);
41 }
43 }
44
45 TRACEEXIT();
47 }
48 }
49
50 TRACEEXIT();
51 return NULL;
52}
tLogoData * LogoManager_LogoData
void(* LogoManager_CB)(int CallbackType, int Param1)
int LogoManager_NrLogos
bool HDD_ChangeDir(const char *Dir)
Definition: HDD_ChangeDir.c:5
TYPE_GrData * LogoManager_GetLogoByLogoName(char *LogoName, tLogoStyle LogoStyle, tLogoSize LogoSize, tLogoAspect LogoAR)
#define LOGOROOT
Definition: libFireBird.h:2217
#define SEEK_SET
Definition: libFireBird.h:1875
#define LOGOCACHE
Definition: libFireBird.h:2219
bool HDD_TAP_PushDir(void)
#define TRACEEXIT()
Definition: libFireBird.h:1244
#define TRACEENTER()
Definition: libFireBird.h:1243
bool HDD_TAP_PopDir(void)
Definition: HDD_TAP_PopDir.c:3
void LogoManager_Initialize(void *CallbackRoutine)
tLogoAspect
Definition: libFireBird.h:2247
tLogoSize
Definition: libFireBird.h:2239
tLogoStyle
Definition: libFireBird.h:2225
TYPE_GrData * grData