mirror of
https://github.com/ocornut/imgui.git
synced 2026-01-07 05:43:17 +00:00
Textures: ImTextureData::GetPixels() returns void* for clarity.
This commit is contained in:
4
imgui.h
4
imgui.h
@@ -3440,8 +3440,8 @@ struct ImTextureData
|
||||
~ImTextureData() { DestroyPixels(); }
|
||||
IMGUI_API void Create(ImTextureFormat format, int w, int h);
|
||||
IMGUI_API void DestroyPixels();
|
||||
unsigned char* GetPixels() { IM_ASSERT(Pixels != NULL); return Pixels; }
|
||||
unsigned char* GetPixelsAt(int x, int y) { IM_ASSERT(Pixels != NULL); return Pixels + (x + y * Width) * BytesPerPixel; }
|
||||
void* GetPixels() { IM_ASSERT(Pixels != NULL); return Pixels; }
|
||||
void* GetPixelsAt(int x, int y) { IM_ASSERT(Pixels != NULL); return Pixels + (x + y * Width) * BytesPerPixel; }
|
||||
int GetSizeInBytes() const { return Width * Height * BytesPerPixel; }
|
||||
int GetPitch() const { return Width * BytesPerPixel; }
|
||||
ImTextureRef GetTexRef() { ImTextureRef tex_ref; tex_ref._TexData = this; tex_ref._TexID = ImTextureID_Invalid; return tex_ref; }
|
||||
|
||||
@@ -2863,7 +2863,7 @@ void ImFontAtlasTextureBlockPostProcess(ImFontAtlasPostProcessData* data)
|
||||
|
||||
void ImFontAtlasTextureBlockPostProcessMultiply(ImFontAtlasPostProcessData* data, float multiply_factor)
|
||||
{
|
||||
unsigned char* pixels = data->Pixels;
|
||||
unsigned char* pixels = (unsigned char*)data->Pixels;
|
||||
int pitch = data->Pitch;
|
||||
if (data->Format == ImTextureFormat_Alpha8)
|
||||
{
|
||||
@@ -3448,7 +3448,7 @@ void ImFontAtlasBuildRenderBitmapFromString(ImFontAtlas* atlas, int x, int y, in
|
||||
{
|
||||
case ImTextureFormat_Alpha8:
|
||||
{
|
||||
ImU8* out_p = tex->GetPixelsAt(x, y);
|
||||
ImU8* out_p = (ImU8*)tex->GetPixelsAt(x, y);
|
||||
for (int off_y = 0; off_y < h; off_y++, out_p += tex->Width, in_str += w)
|
||||
for (int off_x = 0; off_x < w; off_x++)
|
||||
out_p[off_x] = (in_str[off_x] == in_marker_char) ? 0xFF : 0x00;
|
||||
@@ -3456,7 +3456,7 @@ void ImFontAtlasBuildRenderBitmapFromString(ImFontAtlas* atlas, int x, int y, in
|
||||
}
|
||||
case ImTextureFormat_RGBA32:
|
||||
{
|
||||
ImU32* out_p = (ImU32*)(void*)tex->GetPixelsAt(x, y);
|
||||
ImU32* out_p = (ImU32*)tex->GetPixelsAt(x, y);
|
||||
for (int off_y = 0; off_y < h; off_y++, out_p += tex->Width, in_str += w)
|
||||
for (int off_x = 0; off_x < w; off_x++)
|
||||
out_p[off_x] = (in_str[off_x] == in_marker_char) ? IM_COL32_WHITE : IM_COL32_BLACK_TRANS;
|
||||
@@ -5124,7 +5124,7 @@ void ImFontAtlasBakedSetFontGlyphBitmap(ImFontAtlas* atlas, ImFontBaked* baked,
|
||||
{
|
||||
ImTextureData* tex = atlas->TexData;
|
||||
IM_ASSERT(r->x + r->w <= tex->Width && r->y + r->h <= tex->Height);
|
||||
ImFontAtlasTextureBlockConvert(src_pixels, src_fmt, src_pitch, tex->GetPixelsAt(r->x, r->y), tex->Format, tex->GetPitch(), r->w, r->h);
|
||||
ImFontAtlasTextureBlockConvert(src_pixels, src_fmt, src_pitch, (unsigned char*)tex->GetPixelsAt(r->x, r->y), tex->Format, tex->GetPitch(), r->w, r->h);
|
||||
ImFontAtlasPostProcessData pp_data = { atlas, baked->ContainerFont, src, baked, glyph, tex->GetPixelsAt(r->x, r->y), tex->Format, tex->GetPitch(), r->w, r->h };
|
||||
ImFontAtlasTextureBlockPostProcess(&pp_data);
|
||||
ImFontAtlasTextureBlockQueueUpload(atlas, tex, r->x, r->y, r->w, r->h);
|
||||
|
||||
@@ -3746,7 +3746,7 @@ struct ImFontAtlasPostProcessData
|
||||
ImFontGlyph* Glyph;
|
||||
|
||||
// Pixel data
|
||||
unsigned char* Pixels;
|
||||
void* Pixels;
|
||||
ImTextureFormat Format;
|
||||
int Pitch;
|
||||
int Width;
|
||||
|
||||
Reference in New Issue
Block a user