Example #1
0
File: Input.cpp Project: 456z/gosu
Gosu::Button Gosu::Input::charToId(wchar_t ch)
{
    std::wstring string(1, ch);
    SDL_Keycode keycode = SDL_GetKeyFromName(wstringToUTF8(string).c_str());
    
    if (keycode == SDLK_UNKNOWN) {
        return noButton;
    }
    else {
        return Button(SDL_GetScancodeFromKey(keycode));
    }
}
Example #2
0
void FI(saveImageFile)(const Bitmap& bitmap, Gosu::Writer writer,
                       const std::wstring& formatHint)
{
    std::string utf8FormatHint = wstringToUTF8(formatHint);
    FREE_IMAGE_FORMAT fif = FreeImage_GetFIFFromFilename(utf8FormatHint.c_str());
    FIBITMAP* fib = bitmapToFIB(bitmap, fif);

    FreeImageIO fio = { NULL, WriteProc, SeekProc, TellProc };
    FreeImage_SaveToHandle(fif, fib, &fio, &writer);
    FreeImage_Unload(fib);
    checkForFreeImageErrors();
}
Example #3
0
 SndFile(const std::wstring& filename)
 :   file(NULL), reader(buffer.frontReader())
 {
     info.format = 0;
     #ifdef GOSU_IS_WIN
     loadFile(buffer, filename);
     file = sf_open_virtual(ioInterface(), SFM_READ, &info, this);
     #else
     file = sf_open(wstringToUTF8(filename).c_str(), SFM_READ, &info);
     #endif
     if (!file)
         throw std::runtime_error(std::string(sf_strerror(NULL)));
 }
Example #4
0
void FI(loadImageFile)(Bitmap& bitmap, const std::wstring& filename)
{
#ifdef GOSU_IS_WIN
    FREE_IMAGE_FORMAT fif = FreeImage_GetFileTypeU(filename.c_str());
    FIBITMAP* fib = FreeImage_LoadU(fif, filename.c_str(), GOSU_FIFLAGS);
#else
    std::string utf8Filename = wstringToUTF8(filename);
    FREE_IMAGE_FORMAT fif = FreeImage_GetFileType(utf8Filename.c_str());
    FIBITMAP* fib = FreeImage_Load(fif, utf8Filename.c_str(), GOSU_FIFLAGS);
#endif
    checkForFreeImageErrors(fib != 0);
    fibToBitmap(bitmap, fib, fif);
}
Example #5
0
void FI(saveImageFile)(const Bitmap& bitmap, const std::wstring& filename)
{
    std::string utf8Filename = wstringToUTF8(filename);
    FREE_IMAGE_FORMAT fif = FreeImage_GetFIFFromFilename(utf8Filename.c_str());
    FIBITMAP* fib = bitmapToFIB(bitmap, fif);

#ifdef GOSU_IS_WIN
    FreeImage_SaveU(fif, fib, filename.c_str());
#else
    FreeImage_Save(fif, fib, utf8Filename.c_str());
#endif
    FreeImage_Unload(fib);
    checkForFreeImageErrors();
}