本文整理汇总了C++中CGraphic::Load方法的典型用法代码示例。如果您正苦于以下问题:C++ CGraphic::Load方法的具体用法?C++ CGraphic::Load怎么用?C++ CGraphic::Load使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CGraphic
的用法示例。
在下文中一共展示了CGraphic::Load方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LoadFonts
/**
** Load all fonts.
*/
void LoadFonts()
{
for (FontFamiliesType::iterator iter = FontFamilies.begin();
iter != FontFamilies.end(); ++iter) {
CFontFamily *fontFamily = iter->second;
CGraphic *g = fontFamily->G;
if (g) {
ShowLoadProgress("Fonts %s", g->File.c_str());
g->Load();
fontFamily->MeasureWidths();
if (UseOpenGL) {
fontFamily->MakeFontColorGraphics();
}
}
}
// TODO: remove this
SmallFont = CFont::Get("small");
GameFont = CFont::Get("game");
LargeFont = CFont::Get("large");
}
示例2: ShowTitleImage
/**
** Show a title image
*/
void TitleScreen::ShowTitleImage()
{
const EventCallback *old_callbacks = GetCallbacks();
EventCallback callbacks;
WaitNoEvent = true;
callbacks.ButtonPressed = WaitCallbackButtonPressed;
callbacks.ButtonReleased = WaitCallbackButtonReleased;
callbacks.MouseMoved = WaitCallbackMouse;
callbacks.MouseExit = WaitCallbackExit;
callbacks.KeyPressed = WaitCallbackKeyPressed;
callbacks.KeyReleased = WaitCallbackKeyReleased;
callbacks.KeyRepeated = WaitCallbackKeyRepeated;
//callbacks.NetworkEvent = NetworkEvent;
callbacks.NetworkEvent = nullptr;
SetCallbacks(&callbacks);
CGraphic *g = CGraphic::New(this->File);
g->Load();
if (this->StretchImage) {
g->Resize(Video.Width, Video.Height);
}
int timeout = this->Timeout ? this->Timeout * CYCLES_PER_SECOND : -1;
while (timeout-- && WaitNoEvent) {
g->DrawClip((Video.Width - g->Width) / 2, (Video.Height - g->Height) / 2);
this->ShowLabels();
Invalidate();
RealizeVideoMemory();
WaitEventsOneFrame();
}
SetCallbacks(old_callbacks);
CGraphic::Free(g);
}
示例3: InitVideoSdl
/**
** Initialize the video part for SDL.
*/
void InitVideoSdl()
{
Uint32 flags = 0;
if (SDL_WasInit(SDL_INIT_VIDEO) == 0) {
#ifndef USE_WIN32
// Fix tablet input in full-screen mode
SDL_putenv(strdup("SDL_MOUSE_RELATIVE=0"));
#endif
int res = SDL_Init(
#ifdef DEBUG
SDL_INIT_NOPARACHUTE |
#endif
SDL_INIT_AUDIO | SDL_INIT_VIDEO |
SDL_INIT_TIMER);
if (res < 0) {
fprintf(stderr, "Couldn't initialize SDL: %s\n", SDL_GetError());
exit(1);
}
// Clean up on exit
atexit(SDL_Quit);
#ifdef USE_MAEMO
maemo_init();
#endif
// If debug is enabled, Stratagus disable SDL Parachute.
// So we need gracefully handle segfaults and aborts.
#if defined(DEBUG) && !defined(USE_WIN32)
signal(SIGSEGV, CleanExit);
signal(SIGABRT, CleanExit);
#endif
// Set WindowManager Title
if (!FullGameName.empty()) {
SDL_WM_SetCaption(FullGameName.c_str(), FullGameName.c_str());
} else if (!Parameters::Instance.applicationName.empty()) {
SDL_WM_SetCaption(Parameters::Instance.applicationName.c_str(), Parameters::Instance.applicationName.c_str());
} else {
SDL_WM_SetCaption("Stratagus", "Stratagus");
}
#if ! defined(USE_WIN32) && ! defined(USE_MAEMO)
#if defined(USE_OPENGL) || defined(USE_GLES)
// Make sure, that we not create OpenGL textures (and do not call OpenGL functions), when creating icon surface
bool UseOpenGL_orig = UseOpenGL;
UseOpenGL = false;
#endif
SDL_Surface *icon = NULL;
CGraphic *g = NULL;
struct stat st;
std::string FullGameNameL = FullGameName;
for (size_t i = 0; i < FullGameNameL.size(); ++i) {
FullGameNameL[i] = tolower(FullGameNameL[i]);
}
std::string ApplicationName = Parameters::Instance.applicationName;
std::string ApplicationNameL = ApplicationName;
for (size_t i = 0; i < ApplicationNameL.size(); ++i) {
ApplicationNameL[i] = tolower(ApplicationNameL[i]);
}
std::vector <std::string> pixmaps;
pixmaps.push_back(std::string() + PIXMAPS + "/" + FullGameName + ".png");
pixmaps.push_back(std::string() + PIXMAPS + "/" + FullGameNameL + ".png");
pixmaps.push_back(std::string() + "/usr/share/pixmaps" + "/" + FullGameName + ".png");
pixmaps.push_back(std::string() + "/usr/share/pixmaps" + "/" + FullGameNameL + ".png");
pixmaps.push_back(std::string() + PIXMAPS + "/" + ApplicationName + ".png");
pixmaps.push_back(std::string() + PIXMAPS + "/" + ApplicationNameL + ".png");
pixmaps.push_back(std::string() + "/usr/share/pixmaps" + "/" + ApplicationName + ".png");
pixmaps.push_back(std::string() + "/usr/share/pixmaps" + "/" + ApplicationNameL + ".png");
pixmaps.push_back(std::string() + PIXMAPS + "/" + "Stratagus" + ".png");
pixmaps.push_back(std::string() + PIXMAPS + "/" + "stratagus" + ".png");
pixmaps.push_back(std::string() + "/usr/share/pixmaps" + "/" + "Stratagus" + ".png");
pixmaps.push_back(std::string() + "/usr/share/pixmaps" + "/" + "stratagus" + ".png");
for (size_t i = 0; i < pixmaps.size(); ++i) {
if (stat(pixmaps[i].c_str(), &st) == 0) {
if (g) { CGraphic::Free(g); }
g = CGraphic::New(pixmaps[i].c_str());
g->Load();
icon = g->Surface;
if (icon) { break; }
}
}
if (icon) {
SDL_WM_SetIcon(icon, 0);
}
if (g) {
CGraphic::Free(g);
}
//.........这里部分代码省略.........