Blender V4.3
BLI_args.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2001-2002 NaN Holding BV. All rights reserved.
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16struct bArgs;
17typedef struct bArgs bArgs;
18
19#include <stdarg.h> /* For `va_list`. */
20
21#include "BLI_compiler_attrs.h"
22
28typedef int (*BA_ArgCallback)(int argc, const char **argv, void *data);
29
30struct bArgs *BLI_args_create(int argc, const char **argv);
31void BLI_args_destroy(struct bArgs *ba);
32
33typedef void (*bArgPrintFn)(void *user_data, const char *format, va_list args);
34void BLI_args_printf(struct bArgs *ba, const char *format, ...);
37 void *user_data);
38
40void BLI_args_pass_set(struct bArgs *ba, int current_pass);
41
46void BLI_args_add(struct bArgs *ba,
47 const char *short_arg,
48 const char *long_arg,
49 const char *doc,
51 void *data);
52
56void BLI_args_add_case(struct bArgs *ba,
57 const char *short_arg,
58 int short_case,
59 const char *long_arg,
60 int long_case,
61 const char *doc,
63 void *data);
64
65void BLI_args_parse(struct bArgs *ba, int pass, BA_ArgCallback default_cb, void *default_data);
66
67void BLI_args_print_arg_doc(struct bArgs *ba, const char *arg);
68void BLI_args_print_other_doc(struct bArgs *ba);
69
70bool BLI_args_has_other_doc(const struct bArgs *ba);
71
72void BLI_args_print(const struct bArgs *ba);
73
74#ifdef __cplusplus
75}
76#endif
void BLI_args_destroy(struct bArgs *ba)
Definition BLI_args.c:127
void BLI_args_print_other_doc(struct bArgs *ba)
Definition BLI_args.c:279
void BLI_args_print_arg_doc(struct bArgs *ba, const char *arg)
Definition BLI_args.c:266
void BLI_args_add_case(struct bArgs *ba, const char *short_arg, int short_case, const char *long_arg, int long_case, const char *doc, BA_ArgCallback cb, void *data)
Definition BLI_args.c:221
void BLI_args_pass_set(struct bArgs *ba, int current_pass)
Definition BLI_args.c:149
void BLI_args_add(struct bArgs *ba, const char *short_arg, const char *long_arg, const char *doc, BA_ArgCallback cb, void *data)
Definition BLI_args.c:241
void(* bArgPrintFn)(void *user_data, const char *format, va_list args)
Definition BLI_args.h:33
void BLI_args_print_fn_set(struct bArgs *ba, ATTR_PRINTF_FORMAT(2, 0) bArgPrintFn print_fn, void *user_data)
bool BLI_args_has_other_doc(const struct bArgs *ba)
struct bArgs * BLI_args_create(int argc, const char **argv)
Definition BLI_args.c:110
int(* BA_ArgCallback)(int argc, const char **argv, void *data)
Definition BLI_args.h:28
void BLI_args_print(const struct bArgs *ba)
void BLI_args_parse(struct bArgs *ba, int pass, BA_ArgCallback default_cb, void *default_data)
Definition BLI_args.c:300
void BLI_args_printf(struct bArgs *ba, const char *format,...)
Definition BLI_args.c:135
#define ATTR_PRINTF_FORMAT(format_param, dots_param)
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int
format
bArgPrintFn print_fn
Definition BLI_args.c:53
int current_pass
Definition BLI_args.c:57
const char ** argv
Definition BLI_args.c:50
int argc
Definition BLI_args.c:49