chore: CRLF to LF
This commit is contained in:
+65
-65
@@ -1,65 +1,65 @@
|
||||
// Original File By Emil Ernerfeldt 2018
|
||||
// https://github.com/emilk/imgui_software_renderer
|
||||
// LICENSE:
|
||||
// This software is dual-licensed to the public domain and under the following
|
||||
// license: you are granted a perpetual, irrevocable license to copy, modify,
|
||||
// publish, and distribute this file as you see fit.
|
||||
// WHAT:
|
||||
// This is a software renderer for Dear ImGui.
|
||||
// It is decently fast, but has a lot of room for optimization.
|
||||
// The goal was to get something fast and decently accurate in not too many lines of code.
|
||||
// LIMITATIONS:
|
||||
// * It is not pixel-perfect, but it is good enough for must use cases.
|
||||
// * It does not support painting with any other texture than the default font texture.
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
namespace imgui_sw {
|
||||
|
||||
struct SwOptions
|
||||
{
|
||||
bool optimize_text = true; // No reason to turn this off.
|
||||
bool optimize_rectangles = true; // No reason to turn this off.
|
||||
};
|
||||
|
||||
|
||||
struct Stats
|
||||
{
|
||||
int uniform_triangle_pixels = 0;
|
||||
int textured_triangle_pixels = 0;
|
||||
int gradient_triangle_pixels = 0;
|
||||
int font_pixels = 0;
|
||||
double uniform_rectangle_pixels = 0;
|
||||
double textured_rectangle_pixels = 0;
|
||||
double gradient_rectangle_pixels = 0;
|
||||
double gradient_textured_rectangle_pixels = 0;
|
||||
};
|
||||
|
||||
/// Optional: tweak ImGui style to make it render faster.
|
||||
void make_style_fast();
|
||||
|
||||
/// Undo what make_style_fast did.
|
||||
void restore_style();
|
||||
|
||||
/// Call once a the start of your program.
|
||||
void bind_imgui_painting();
|
||||
|
||||
/// The buffer is assumed to follow how ImGui packs pixels, i.e. ABGR by default.
|
||||
/// Change with IMGUI_USE_BGRA_PACKED_COLOR.
|
||||
/// If width/height differs from ImGui::GetIO().DisplaySize then
|
||||
/// the function scales the UI to fit the given pixel buffer.
|
||||
void paint_imgui(uint32_t* pixels, int width_pixels, int height_pixels, const SwOptions& options = {});
|
||||
|
||||
/// Free the resources allocated by bind_imgui_painting.
|
||||
void unbind_imgui_painting();
|
||||
|
||||
/// Show ImGui controls for rendering options if you want to.
|
||||
bool show_options(SwOptions* io_options);
|
||||
|
||||
/// Show rendering stats in an ImGui window if you want to.
|
||||
void show_stats();
|
||||
|
||||
Stats get_stats();
|
||||
|
||||
} // namespace imgui_sw
|
||||
// Original File By Emil Ernerfeldt 2018
|
||||
// https://github.com/emilk/imgui_software_renderer
|
||||
// LICENSE:
|
||||
// This software is dual-licensed to the public domain and under the following
|
||||
// license: you are granted a perpetual, irrevocable license to copy, modify,
|
||||
// publish, and distribute this file as you see fit.
|
||||
// WHAT:
|
||||
// This is a software renderer for Dear ImGui.
|
||||
// It is decently fast, but has a lot of room for optimization.
|
||||
// The goal was to get something fast and decently accurate in not too many lines of code.
|
||||
// LIMITATIONS:
|
||||
// * It is not pixel-perfect, but it is good enough for must use cases.
|
||||
// * It does not support painting with any other texture than the default font texture.
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
namespace imgui_sw {
|
||||
|
||||
struct SwOptions
|
||||
{
|
||||
bool optimize_text = true; // No reason to turn this off.
|
||||
bool optimize_rectangles = true; // No reason to turn this off.
|
||||
};
|
||||
|
||||
|
||||
struct Stats
|
||||
{
|
||||
int uniform_triangle_pixels = 0;
|
||||
int textured_triangle_pixels = 0;
|
||||
int gradient_triangle_pixels = 0;
|
||||
int font_pixels = 0;
|
||||
double uniform_rectangle_pixels = 0;
|
||||
double textured_rectangle_pixels = 0;
|
||||
double gradient_rectangle_pixels = 0;
|
||||
double gradient_textured_rectangle_pixels = 0;
|
||||
};
|
||||
|
||||
/// Optional: tweak ImGui style to make it render faster.
|
||||
void make_style_fast();
|
||||
|
||||
/// Undo what make_style_fast did.
|
||||
void restore_style();
|
||||
|
||||
/// Call once a the start of your program.
|
||||
void bind_imgui_painting();
|
||||
|
||||
/// The buffer is assumed to follow how ImGui packs pixels, i.e. ABGR by default.
|
||||
/// Change with IMGUI_USE_BGRA_PACKED_COLOR.
|
||||
/// If width/height differs from ImGui::GetIO().DisplaySize then
|
||||
/// the function scales the UI to fit the given pixel buffer.
|
||||
void paint_imgui(uint32_t* pixels, int width_pixels, int height_pixels, const SwOptions& options = {});
|
||||
|
||||
/// Free the resources allocated by bind_imgui_painting.
|
||||
void unbind_imgui_painting();
|
||||
|
||||
/// Show ImGui controls for rendering options if you want to.
|
||||
bool show_options(SwOptions* io_options);
|
||||
|
||||
/// Show rendering stats in an ImGui window if you want to.
|
||||
void show_stats();
|
||||
|
||||
Stats get_stats();
|
||||
|
||||
} // namespace imgui_sw
|
||||
|
||||
Reference in New Issue
Block a user