Example #1
0
void Font::Init(const char* filename, int size) {
  if (loadedFonts <= 0 && TTF_WasInit() == 0) {
    if (TTF_Init() == -1) throw TTFException(TTF_GetError());
  }

  this->name = new char[strlen(filename) + 1];
  strcpy(this->name, filename);
  this->size = size;

  if ((this->font = TTF_OpenFont(this->name, this->size)) == NULL) {
    throw TTFException(TTF_GetError());
  }

  loadedFonts++;
}
Example #2
0
bool Application::OnInit() {
	std::string textException = "OnInit() => ";
	
	try {
		SettingsCreator::ConfigureSettingsFile();

		InitializeSDLSystem();
		InitializeVideoSystem();
		InitializeTTFSystem();
		InitializeAudioSystem();
		InitializeResources();

		StateManager::SetActiveState(STATE_MENU);

		return true;
	} catch (const SDLException& sdlException) {
		textException.append(sdlException.WhatHappens());

		throw SDLException(textException);
	} catch (const TTFException& ttfException) {
		textException.append(ttfException.WhatHappens());

		throw TTFException(textException);
	} catch (const MixerException& mixerException) {
		textException.append(mixerException.WhatHappens());

		throw MixerException(textException);
	} catch (const GenericException& exception) {
		textException.append(exception.WhatHappens());

		throw GenericException(textException);
	}

	return false;
}
Example #3
0
void MenuState::OnActivate() {
	try {
		// Cargar recursos
		fontManager = FontManager::GetInstance();
		lazyFont = new Font(fontManager->GetFont(FontManager::Lazy));
		lazyFont->Initialize();
		
		SDL_Color textColor = {255, 255, 255};
		
		lazyFont->SetStyle(TTF_STYLE_UNDERLINE);
		lazyFont->SetOutline(TTF_STYLE_BOLD);
		lazyFont->SetHinting(TTF_HINTING_NONE);
		lazyFont->SetKerning(false);
		lazyFont->SetSize(26);

		message = TTF_RenderText_Solid(lazyFont->GetTTF_Font(), "MenuState", textColor);

		if (!message) {
			throw TTFException();
		}
	} catch (const TTFException& ttfException) {
		throw ttfException;
	} catch (const GenericException& genericException) {
		throw genericException;
	}
}
Example #4
0
int Font::setSize(int size) {
  if (this->size == size) return size;
    int old = this->size;

  if (this->font != NULL) {
    TTF_CloseFont(this->font);
    this->font = NULL;
  }

  this->size = size;
  if ((this->font = TTF_OpenFont(this->name, this->size)) == NULL) {
    throw TTFException(TTF_GetError());
  }
  
  return old;
}
Example #5
0
void Application::InitializeTTFSystem() {
	// Initialize SDL_ttf
	if (TTF_Init() == -1) {
		throw TTFException();
	}
}