diff --git a/src/app/gfx/bitmap.h b/src/app/gfx/bitmap.h index 81ed52d1..844350bc 100644 --- a/src/app/gfx/bitmap.h +++ b/src/app/gfx/bitmap.h @@ -28,6 +28,14 @@ bool ConvertSurfaceToPNG(SDL_Surface *surface, std::vector &buffer); void ConvertPngToSurface(const std::vector &png_data, SDL_Surface **outSurface); +/** + * @brief Represents a bitmap image. + * + * The `Bitmap` class provides functionality to create, manipulate, and display + * bitmap images. It supports various operations such as creating a bitmap + * object, creating and updating textures, applying palettes, and accessing + * pixel data. + */ class Bitmap { public: Bitmap() = default; diff --git a/src/app/gfx/snes_palette.h b/src/app/gfx/snes_palette.h index 69fbdc14..e8099fd6 100644 --- a/src/app/gfx/snes_palette.h +++ b/src/app/gfx/snes_palette.h @@ -35,8 +35,17 @@ uint32_t GetPaletteAddress(const std::string& group_name, size_t palette_index, size_t color_index); /** - * @brief SNES Palette container -*/ + * @brief Represents a palette of colors for the Super Nintendo Entertainment + * System (SNES). + * + * The `SnesPalette` class provides functionality to create, modify, and access + * colors in an SNES palette. It supports various constructors to initialize the + * palette with different types of data. The palette can be modified by adding + * or changing colors, and it can be cleared to remove all colors. Colors in the + * palette can be accessed using index-based access or through the `GetColor` + * method. The class also provides a method to create a sub-palette by selecting + * a range of colors from the original palette. + */ class SnesPalette { public: template @@ -202,8 +211,27 @@ absl::StatusOr CreatePaletteGroupFromColFile( absl::StatusOr CreatePaletteGroupFromLargePalette( SnesPalette& palette); +/** + * @brief Represents a set of palettes used in a SNES graphics system. + */ struct Paletteset { + /** + * @brief Default constructor for Paletteset. + */ Paletteset() = default; + + /** + * @brief Constructor for Paletteset. + * @param main The main palette. + * @param animated The animated palette. + * @param aux1 The first auxiliary palette. + * @param aux2 The second auxiliary palette. + * @param background The background color. + * @param hud The HUD palette. + * @param spr The sprite palette. + * @param spr2 The second sprite palette. + * @param comp The composite palette. + */ Paletteset(gfx::SnesPalette main, gfx::SnesPalette animated, gfx::SnesPalette aux1, gfx::SnesPalette aux2, gfx::SnesColor background, gfx::SnesPalette hud, @@ -217,15 +245,16 @@ struct Paletteset { spr(spr), spr2(spr2), composite(comp) {} - gfx::SnesPalette main; - gfx::SnesPalette animated; - gfx::SnesPalette aux1; - gfx::SnesPalette aux2; - gfx::SnesColor background; - gfx::SnesPalette hud; - gfx::SnesPalette spr; - gfx::SnesPalette spr2; - gfx::SnesPalette composite; + + gfx::SnesPalette main; /**< The main palette. */ + gfx::SnesPalette animated; /**< The animated palette. */ + gfx::SnesPalette aux1; /**< The first auxiliary palette. */ + gfx::SnesPalette aux2; /**< The second auxiliary palette. */ + gfx::SnesColor background; /**< The background color. */ + gfx::SnesPalette hud; /**< The HUD palette. */ + gfx::SnesPalette spr; /**< The sprite palette. */ + gfx::SnesPalette spr2; /**< The second sprite palette. */ + gfx::SnesPalette composite; /**< The composite palette. */ }; } // namespace gfx diff --git a/src/app/gfx/tilesheet.h b/src/app/gfx/tilesheet.h index 621f2efe..5de1e6b4 100644 --- a/src/app/gfx/tilesheet.h +++ b/src/app/gfx/tilesheet.h @@ -15,6 +15,14 @@ namespace gfx { enum class TileType { Tile8, Tile16 }; +/** + * @class Tilesheet + * @brief Represents a tilesheet, which is a collection of tiles stored in a + * bitmap. + * + * The Tilesheet class provides methods to manipulate and extract tiles from the + * tilesheet. It also supports copying and mirroring tiles within the tilesheet. + */ class Tilesheet { public: Tilesheet() = default; diff --git a/src/app/gui/canvas.h b/src/app/gui/canvas.h index 0ae29bc3..b24e4c8a 100644 --- a/src/app/gui/canvas.h +++ b/src/app/gui/canvas.h @@ -20,6 +20,14 @@ enum class CanvasType { kTile, kBlock, kMap }; enum class CanvasMode { kPaint, kSelect }; enum class CanvasGridSize { k8x8, k16x16, k32x32, k64x64 }; +/** + * @class Canvas + * @brief Represents a canvas for drawing and manipulating graphics. + * + * The Canvas class provides various functions for updating and drawing graphics + * on a canvas. It supports features such as bitmap drawing, context menu + * handling, tile painting, custom grid, and more. + */ class Canvas { public: Canvas() = default;