internal Font(PicoGfx gfx, Pixmap pixmap) { GlyphQuadMap = new Dictionary <int, SDL.SDL_Rect>(); FontSurface = new PicoSurface(gfx, pixmap, PicoSurface.AccessType.Static); LoadGlyphMap(); }
internal PicoSurface(PicoGfx gfx, int width, int height, AccessType accessType) { _pixmap = new Pixmap(width, height); SDL.SDL_TextureAccess textureAccess; switch (accessType) { case AccessType.Static: textureAccess = SDL.SDL_TextureAccess.SDL_TEXTUREACCESS_STATIC; break; case AccessType.Dynamic: textureAccess = SDL.SDL_TextureAccess.SDL_TEXTUREACCESS_STREAMING; break; case AccessType.Target: textureAccess = SDL.SDL_TextureAccess.SDL_TEXTUREACCESS_TARGET; break; default: textureAccess = SDL.SDL_TextureAccess.SDL_TEXTUREACCESS_STATIC; break; } _texture = SDL.SDL_CreateTexture(gfx.Context, SDL.SDL_PIXELFORMAT_ARGB8888, (int)textureAccess, width, height); SDL.SDL_UpdateTexture(_texture, IntPtr.Zero, _pixmap.DataPtr, _pixmap.Pitch); }
internal PicoSurface(PicoGfx gfx, Pixmap pixmap, AccessType accessType) { _pixmap = pixmap; SDL.SDL_TextureAccess textureAccess; switch (accessType) { case AccessType.Static: textureAccess = SDL.SDL_TextureAccess.SDL_TEXTUREACCESS_STATIC; break; case AccessType.Dynamic: textureAccess = SDL.SDL_TextureAccess.SDL_TEXTUREACCESS_STREAMING; break; case AccessType.Target: textureAccess = SDL.SDL_TextureAccess.SDL_TEXTUREACCESS_TARGET; break; default: textureAccess = SDL.SDL_TextureAccess.SDL_TEXTUREACCESS_STATIC; break; } _texture = SDL.SDL_CreateTexture(gfx.Context, SDL.SDL_PIXELFORMAT_ARGB8888, (int)textureAccess, pixmap.Width, pixmap.Height); SDL.SDL_SetTextureBlendMode(_texture, SDL.SDL_BlendMode.SDL_BLENDMODE_BLEND); SDL.SDL_UpdateTexture(_texture, IntPtr.Zero, _pixmap.DataPtr, _pixmap.Pitch); }