跳转至

lib/graphic/widget/progressbar/progressbar.h

Progress bar widget for progress visualization. More...

Classes

Name
struct CFBD_ProgressBarOps
struct __CFBD_ProgressBar

Types

Name
typedef struct __CFBD_ProgressBar CFBD_ProgressBar
Forward declaration of progress bar structure.

Functions

Name
void CFBD_ProgressBar_Init(CFBD_ProgressBar * pb, CFBD_GraphicDevice * device, CFBDGraphic_Point * tl, CFBDGraphicSize * sz, int32_t min, int32_t max)

Detailed Description

Progress bar widget for progress visualization.

Provides progress bar structure and operations for displaying progress with optional borders, padding, and animations.

Types Documentation

typedef CFBD_ProgressBar

typedef struct __CFBD_ProgressBar CFBD_ProgressBar;

Forward declaration of progress bar structure.

See:

Progress bar widget structure.

Encapsulates all progress bar state including value range, visual properties, animation, and rendering surface.

Functions Documentation

function CFBD_ProgressBar_Init

void CFBD_ProgressBar_Init(
    CFBD_ProgressBar * pb,
    CFBD_GraphicDevice * device,
    CFBDGraphic_Point * tl,
    CFBDGraphicSize * sz,
    int32_t min,
    int32_t max
)

Source code

#pragma once
#include <stdint.h>

#include "base/point.h"
#include "base/size.h"
#include "cfbd_define.h"
#include "cfbd_graphic_define.h"
#include "widget/animation/animation.h"

typedef struct __CFBD_ProgressBar CFBD_ProgressBar;

typedef struct
{
    void (*immediate_draw)(CFBD_ProgressBar*);

    void (*set_value)(CFBD_ProgressBar*, int32_t new_value);

    CFBD_Bool (*set_property)(CFBD_ProgressBar*, const char* property, const void* args);
} CFBD_ProgressBarOps;

typedef struct __CFBD_ProgressBar
{
    CFBD_ProgressBarOps* ops;

    CFBDGraphic_Point tl;

    CFBDGraphicSize size;

    int32_t min;

    int32_t max;

    int32_t value;

    CFBD_GraphicDevice* device;

    uint8_t border;

    uint8_t padding;

    CFBD_BaseAnimation animation;
} CFBD_ProgressBar;

void CFBD_ProgressBar_Init(CFBD_ProgressBar* pb,
                           CFBD_GraphicDevice* device,
                           CFBDGraphic_Point* tl,
                           CFBDGraphicSize* sz,
                           int32_t min,
                           int32_t max);

Updated on 2026-02-03 at 13:21:55 +0000