Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/blenkernel/BKE_screen.h')
-rw-r--r--source/blender/blenkernel/BKE_screen.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_screen.h b/source/blender/blenkernel/BKE_screen.h
index c49b6e27bba..fc7146b8cf4 100644
--- a/source/blender/blenkernel/BKE_screen.h
+++ b/source/blender/blenkernel/BKE_screen.h
@@ -34,6 +34,7 @@ extern "C" {
struct ARegion;
struct Header;
struct ID;
+struct LibraryForeachIDData;
struct ListBase;
struct Menu;
struct Panel;
@@ -228,6 +229,25 @@ typedef struct PanelType {
/* draw entirely, view changes should be handled here */
void (*draw)(const struct bContext *C, struct Panel *panel);
+ /* For instanced panels corresponding to a list: */
+
+ /** Reorder function, called when drag and drop finishes. */
+ void (*reorder)(struct bContext *C, struct Panel *pa, int new_index);
+ /**
+ * Get the panel and sub-panel's expansion state from the expansion flag in the corresponding
+ * data item. Called on draw updates.
+ * \note Sub-panels are indexed in depth first order,
+ * the visual order you would see if all panels were expanded.
+ */
+ short (*get_list_data_expand_flag)(const struct bContext *C, struct Panel *pa);
+ /**
+ * Set the expansion bit-field from the closed / open state of this panel and its sub-panels.
+ * Called when the expansion state of the panel changes with user input.
+ * \note Sub-panels are indexed in depth first order,
+ * the visual order you would see if all panels were expanded.
+ */
+ void (*set_list_data_expand_flag)(const struct bContext *C, struct Panel *pa, short expand_flag);
+
/* sub panels */
struct PanelType *parent;
ListBase children;
@@ -389,6 +409,8 @@ float BKE_screen_view3d_zoom_from_fac(float zoomfac);
void BKE_screen_view3d_shading_init(struct View3DShading *shading);
/* screen */
+void BKE_screen_foreach_id_screen_area(struct LibraryForeachIDData *data, struct ScrArea *area);
+
void BKE_screen_free(struct bScreen *screen);
void BKE_screen_area_map_free(struct ScrAreaMap *area_map) ATTR_NONNULL();