void System::systemLog(const char *buf) { deviceLog("%s", buf); int prevScreenId = _output->getScreenId(true); _output->selectBackScreen(CONSOLE_SCREEN); _output->print(buf); _output->selectBackScreen(prevScreenId); }
bool Graphics::construct(const char *font, const char *boldFont) { logEntered(); int w, h; bool result = true; SDL_GetWindowSize(_window, &w, &h); SDL_Surface *surface = SDL_GetWindowSurface(_window); if (surface == NULL) { fprintf(stderr, "SDL surface is null\n"); result = false; } else if (surface->format == NULL) { fprintf(stderr, "SDL surface format is null\n"); result = false; } else if (surface->format->format != PIXELFORMAT) { deviceLog("Unexpected window surface format %d", surface->format->format); _surface = surface; } if (result && loadFonts(font, boldFont)) { _screen = new Canvas(); if (_screen != NULL) { if (_surface == NULL) { _screen->setSurface(SDL_GetWindowSurface(_window), w, h); } else { result = _screen->create(w, h); } } if (result) { _drawTarget = _screen; maSetColor(DEFAULT_BACKGROUND); } } else { result = false; } return result; }