Blender
V3.3
|
#include <stdlib.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "DNA_gpencil_types.h"
#include "DNA_listBase.h"
#include "DNA_object_types.h"
#include "DNA_windowmanager_types.h"
#include "BLI_listbase.h"
#include "BKE_blender_undo.h"
#include "BKE_context.h"
#include "BKE_gpencil.h"
#include "BKE_undo_system.h"
#include "ED_gpencil.h"
#include "WM_api.h"
#include "WM_types.h"
#include "DEG_depsgraph.h"
#include "gpencil_intern.h"
Go to the source code of this file.
Classes | |
struct | bGPundonode |
Typedefs | |
typedef struct bGPundonode | bGPundonode |
Functions | |
int | ED_gpencil_session_active (void) |
int | ED_undo_gpencil_step (bContext *C, const int step) |
void | gpencil_undo_init (bGPdata *gpd) |
static void | gpencil_undo_free_node (bGPundonode *undo_node) |
void | gpencil_undo_push (bGPdata *gpd) |
void | gpencil_undo_finish (void) |
Variables | |
static ListBase | undo_nodes = {NULL, NULL} |
static bGPundonode * | cur_node = NULL |
typedef struct bGPundonode bGPundonode |
int ED_gpencil_session_active | ( | void | ) |
Definition at line 44 of file gpencil_undo.c.
References BLI_listbase_is_empty(), and undo_nodes.
Referenced by annotation_draw_data_layers(), annotation_draw_poll(), annotation_session_initdata(), ed_undo_step_by_index(), ed_undo_step_by_name(), ed_undo_step_direction(), and gpencil_draw_poll().
int ED_undo_gpencil_step | ( | struct bContext * | C, |
int | step | ||
) |
step | eUndoStepDir. |
Definition at line 49 of file gpencil_undo.c.
References BKE_gpencil_free_layers(), BKE_gpencil_layer_duplicate(), BLI_addtail(), BLI_listbase_clear(), C, cur_node, DEG_id_tag_update(), ED_gpencil_data_get_pointers(), GP_DATA_CACHE_IS_DIRTY, bGPundonode::gpd, ID_RECALC_GEOMETRY, ID_RECALC_TRANSFORM, bGPdata::layers, LISTBASE_FOREACH, NA_EDITED, NC_GPENCIL, bGPundonode::next, NULL, OPERATOR_FINISHED, bGPundonode::prev, STEP_REDO, STEP_UNDO, and WM_event_add_notifier().
Referenced by ed_undo_step_direction().
Definition at line 164 of file gpencil_undo.c.
References BLI_freelistN(), cur_node, ListBase::first, gpencil_undo_free_node(), bGPundonode::next, NULL, and undo_nodes.
Referenced by annotation_draw_exit(), gpencil_draw_exit(), and gpencil_fill_exit().
|
static |
Definition at line 102 of file gpencil_undo.c.
References bGPdata::adt, BKE_gpencil_free_data(), bGPundonode::gpd, MEM_freeN, and NULL.
Referenced by gpencil_undo_finish(), and gpencil_undo_push().
Definition at line 97 of file gpencil_undo.c.
References gpencil_undo_push().
Referenced by annotation_session_initdata(), and gpencil_session_init_fill().
Definition at line 113 of file gpencil_undo.c.
References BKE_gpencil_data_duplicate(), BLI_addtail(), BLI_freelinkN(), BLI_listbase_is_empty(), cur_node, bGPundonode::gpd, gpencil_undo_free_node(), ListBase::last, MEM_callocN, bGPundonode::next, NULL, bGPundonode::prev, steps, and undo_nodes.
Referenced by annotation_stroke_end(), gpencil_fill_modal(), and gpencil_undo_init().
|
static |
Definition at line 42 of file gpencil_undo.c.
Referenced by ED_undo_gpencil_step(), gpencil_undo_finish(), and gpencil_undo_push().
Definition at line 41 of file gpencil_undo.c.
Referenced by ED_gpencil_session_active(), gpencil_undo_finish(), and gpencil_undo_push().