2023-03-10 10:56:36 +08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "common/option.h"
|
|
|
|
|
|
2024-11-14 10:04:57 +08:00
|
|
|
typedef enum __attribute__((__packed__)) FFDisplayCompactType
|
2023-03-10 10:56:36 +08:00
|
|
|
{
|
|
|
|
|
FF_DISPLAY_COMPACT_TYPE_NONE = 0,
|
|
|
|
|
FF_DISPLAY_COMPACT_TYPE_ORIGINAL_BIT = 1 << 0,
|
|
|
|
|
FF_DISPLAY_COMPACT_TYPE_SCALED_BIT = 1 << 1,
|
2024-02-22 16:42:23 +08:00
|
|
|
FF_DISPLAY_COMPACT_TYPE_REFRESH_RATE_BIT = 1 << 2,
|
2024-11-14 10:04:57 +08:00
|
|
|
FF_DISPLAY_COMPACT_TYPE_UNSIGNED = UINT8_MAX,
|
2023-03-10 10:56:36 +08:00
|
|
|
} FFDisplayCompactType;
|
|
|
|
|
|
2024-11-14 10:04:57 +08:00
|
|
|
typedef enum __attribute__((__packed__)) FFDisplayOrder
|
2024-02-22 10:47:13 +08:00
|
|
|
{
|
|
|
|
|
FF_DISPLAY_ORDER_NONE,
|
|
|
|
|
FF_DISPLAY_ORDER_ASC,
|
|
|
|
|
FF_DISPLAY_ORDER_DESC,
|
|
|
|
|
} FFDisplayOrder;
|
|
|
|
|
|
2023-03-10 10:56:36 +08:00
|
|
|
typedef struct FFDisplayOptions
|
|
|
|
|
{
|
|
|
|
|
FFModuleArgs moduleArgs;
|
|
|
|
|
|
|
|
|
|
FFDisplayCompactType compactType;
|
|
|
|
|
bool preciseRefreshRate;
|
2024-02-22 10:47:13 +08:00
|
|
|
FFDisplayOrder order;
|
2023-03-10 10:56:36 +08:00
|
|
|
} FFDisplayOptions;
|
2025-08-04 14:25:14 +08:00
|
|
|
|
|
|
|
|
static_assert(sizeof(FFDisplayOptions) <= FF_OPTION_MAX_SIZE, "FFDisplayOptions size exceeds maximum allowed size");
|