KiCad PCB EDA Suite
Loading...
Searching...
No Matches
bitmap_texture.h
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright The KiCad Developers, see AUTHORS.txt for contributors.
5 *
6 * This program is free software: you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation, either version 3 of the License, or (at your
9 * option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef GAL_BITMAP_TEXTURE_H
21#define GAL_BITMAP_TEXTURE_H
22
23#include <gal/gal.h>
24
25#include <cstddef>
26#include <cstdint>
27#include <vector>
28
29class wxImage;
30
31
32namespace KIGFX
33{
34
36constexpr size_t BITMAP_CACHE_MAX_BYTES = 256 * 1024 * 1024;
37
44GAL_API wxImage FitImageToTexture( const wxImage& aImage, int aMaxTextureSize );
45
51GAL_API std::vector<uint8_t> RgbToRgba( const uint8_t* aRgb, const uint8_t* aAlpha, size_t aPixelCount );
52
54GAL_API std::vector<uint8_t> ImageToRgba( const wxImage& aImage );
55
56} // namespace KIGFX
57
58#endif // GAL_BITMAP_TEXTURE_H
#define GAL_API
Definition gal.h:27
The Cairo implementation of the graphics abstraction layer.
Definition eda_group.h:30
std::vector< uint8_t > ImageToRgba(const wxImage &aImage)
The pixels of aImage as tightly packed RGBA, transparent where it has alpha or a mask.
constexpr size_t BITMAP_CACHE_MAX_BYTES
Texture memory the GPU canvases may hold for placed bitmaps before they evict the oldest.
std::vector< uint8_t > RgbToRgba(const uint8_t *aRgb, const uint8_t *aAlpha, size_t aPixelCount)
Expand packed RGB to tightly packed RGBA.
wxImage FitImageToTexture(const wxImage &aImage, int aMaxTextureSize)
Fit an image into the largest texture a GPU can hold.