Blender
V4.5
source
blender
editors
space_info
textview.hh
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2023 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
9
#pragma once
10
11
#include "
BLI_utildefines.h
"
12
13
#include "
DNA_vec_types.h
"
14
15
#define TVC_TAB_COLUMNS 4
16
17
enum
eTextViewContext_LineFlag
{
18
TVC_LINE_FG
= (1 << 0),
19
TVC_LINE_BG
= (1 << 1),
20
TVC_LINE_ICON
= (1 << 2),
21
TVC_LINE_ICON_FG
= (1 << 3),
22
TVC_LINE_ICON_BG
= (1 << 4)
23
};
24
ENUM_OPERATORS
(
eTextViewContext_LineFlag
,
TVC_LINE_ICON_BG
)
25
26
struct
TextViewContext
{
28
int
lheight
;
30
int
sel_start,
sel_end
;
31
32
int
row_vpadding
;
33
35
rcti
draw_rect
;
37
rcti
draw_rect_outer
;
38
40
int
scroll_ymin,
scroll_ymax
;
41
42
/* callbacks */
43
int (*
begin
)(
TextViewContext
*tvc);
44
void (*end)(
TextViewContext
*tvc);
45
const
void
*
arg1
;
46
const
void
*
arg2
;
47
48
/* iterator */
49
int (*
step
)(
TextViewContext
*tvc);
50
void (*line_get)(
TextViewContext
*tvc,
const
char
**r_line,
int
*r_len);
51
enum
eTextViewContext_LineFlag
(*line_data)(
TextViewContext
*tvc,
52
uchar
fg[4],
53
uchar
bg[4],
54
int
*r_icon,
55
uchar
r_icon_fg[4],
56
uchar
r_icon_bg[4]);
57
void (*draw_cursor)(
TextViewContext
*tvc,
int
cwidth,
int
columns);
58
/* constant theme colors */
59
void (*const_colors)(
TextViewContext
*tvc,
unsigned
char
bg_sel[4]);
60
const
void
*
iter
;
61
int
iter_index
;
63
int
iter_char_begin
;
65
int
iter_char_end
;
67
int
iter_tmp
;
68
};
69
77
int
textview_draw
(
TextViewContext
*tvc,
78
bool
do_draw,
79
const
int
mval_init[2],
80
void
**r_mval_pick_item,
81
int
*r_mval_pick_offset);
uchar
unsigned char uchar
Definition
BLI_sys_types.h:67
BLI_utildefines.h
ENUM_OPERATORS
#define ENUM_OPERATORS(_type, _max)
Definition
BLI_utildefines.h:588
DNA_vec_types.h
begin
iter begin(iter)
step
VecBase< float, D > step(VecOp< float, D >, VecOp< float, D >) RET
TextViewContext
Definition
textview.hh:26
TextViewContext::arg2
const void * arg2
Definition
textview.hh:46
TextViewContext::draw_rect
rcti draw_rect
Definition
textview.hh:35
TextViewContext::arg1
const void * arg1
Definition
textview.hh:45
TextViewContext::lheight
int lheight
Definition
textview.hh:28
TextViewContext::sel_end
int sel_end
Definition
textview.hh:30
TextViewContext::iter
const void * iter
Definition
textview.hh:60
TextViewContext::scroll_ymax
int scroll_ymax
Definition
textview.hh:40
TextViewContext::iter_tmp
int iter_tmp
Definition
textview.hh:67
TextViewContext::iter_char_end
int iter_char_end
Definition
textview.hh:65
TextViewContext::row_vpadding
int row_vpadding
Definition
textview.hh:32
TextViewContext::iter_char_begin
int iter_char_begin
Definition
textview.hh:63
TextViewContext::iter_index
int iter_index
Definition
textview.hh:61
TextViewContext::draw_rect_outer
rcti draw_rect_outer
Definition
textview.hh:37
rcti
Definition
DNA_vec_types.h:68
textview_draw
int textview_draw(TextViewContext *tvc, bool do_draw, const int mval_init[2], void **r_mval_pick_item, int *r_mval_pick_offset)
Definition
textview.cc:303
eTextViewContext_LineFlag
eTextViewContext_LineFlag
Definition
textview.hh:17
TVC_LINE_ICON
@ TVC_LINE_ICON
Definition
textview.hh:20
TVC_LINE_ICON_FG
@ TVC_LINE_ICON_FG
Definition
textview.hh:21
TVC_LINE_ICON_BG
@ TVC_LINE_ICON_BG
Definition
textview.hh:22
TVC_LINE_BG
@ TVC_LINE_BG
Definition
textview.hh:19
TVC_LINE_FG
@ TVC_LINE_FG
Definition
textview.hh:18
Generated on Fri Apr 3 2026 06:33:18 for Blender by
doxygen
1.11.0