Blender  V2.59
nla_intern.h
Go to the documentation of this file.
00001 /*
00002  * $Id: nla_intern.h 35242 2011-02-27 20:29:51Z jesterking $
00003  *
00004  * ***** BEGIN GPL LICENSE BLOCK *****
00005  *
00006  * This program is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU General Public License
00008  * as published by the Free Software Foundation; either version 2
00009  * of the License, or (at your option) any later version. 
00010  *
00011  * This program is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  * GNU General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU General Public License
00017  * along with this program; if not, write to the Free Software Foundation,
00018  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00019  *
00020  * The Original Code is Copyright (C) 2009 Blender Foundation, Joshua Leung.
00021  * All rights reserved.
00022  *
00023  * 
00024  * Contributor(s): Blender Foundation, Joshua Leung
00025  *
00026  * ***** END GPL LICENSE BLOCK *****
00027  */
00028 
00033 #ifndef ED_NLA_INTERN_H
00034 #define ED_NLA_INTERN_H
00035 
00036 /* internal exports only */
00037 
00038 /* **************************************** */
00039 /* Macros, etc. only used by NLA */
00040 
00041 /* **************************************** */
00042 /* space_nla.c / nla_buttons.c */
00043 
00044 ARegion *nla_has_buttons_region(ScrArea *sa);
00045 
00046 void nla_buttons_register(ARegionType *art);
00047 void NLA_OT_properties(wmOperatorType *ot);
00048 
00049 /* **************************************** */
00050 /* nla_draw.c */
00051 
00052 void draw_nla_main_data(bAnimContext *ac, SpaceNla *snla, ARegion *ar);
00053 void draw_nla_channel_list(bContext *C, bAnimContext *ac, ARegion *ar);
00054 
00055 /* **************************************** */
00056 /* nla_header.c */
00057 
00058 void nla_header_buttons(const bContext *C, ARegion *ar);
00059 
00060 /* **************************************** */
00061 /* nla_select.c */
00062 
00063 /* defines for left-right select tool */
00064 enum {
00065         NLAEDIT_LRSEL_TEST      = -1,
00066         NLAEDIT_LRSEL_NONE,
00067         NLAEDIT_LRSEL_LEFT,
00068         NLAEDIT_LRSEL_RIGHT
00069 } eNlaEdit_LeftRightSelect_Mode;
00070 
00071 /* --- */
00072 
00073 void NLA_OT_select_all_toggle(wmOperatorType *ot);
00074 void NLA_OT_select_border(wmOperatorType *ot);
00075 void NLA_OT_select_leftright(wmOperatorType *ot);
00076 void NLA_OT_click_select(wmOperatorType *ot);
00077 
00078 /* **************************************** */
00079 /* nla_edit.c */
00080 
00081 /* defines for snap strips
00082  */
00083 enum {
00084         NLAEDIT_SNAP_CFRA = 1,
00085         NLAEDIT_SNAP_NEAREST_FRAME,
00086         NLAEDIT_SNAP_NEAREST_SECOND,
00087         NLAEDIT_SNAP_NEAREST_MARKER
00088 } eNlaEdit_Snap_Mode;
00089 
00090 /* --- */
00091 
00092 void NLA_OT_tweakmode_enter(wmOperatorType *ot);
00093 void NLA_OT_tweakmode_exit(wmOperatorType *ot);
00094 
00095 /* --- */
00096 
00097 void NLA_OT_actionclip_add(wmOperatorType *ot);
00098 void NLA_OT_transition_add(wmOperatorType *ot);
00099 
00100 void NLA_OT_meta_add(wmOperatorType *ot);
00101 void NLA_OT_meta_remove(wmOperatorType *ot);
00102 
00103 void NLA_OT_duplicate(wmOperatorType *ot);
00104 void NLA_OT_delete(wmOperatorType *ot);
00105 void NLA_OT_split(wmOperatorType *ot);
00106 
00107 void NLA_OT_mute_toggle(wmOperatorType *ot);
00108 
00109 void NLA_OT_swap(wmOperatorType *ot);
00110 void NLA_OT_move_up(wmOperatorType *ot);
00111 void NLA_OT_move_down(wmOperatorType *ot);
00112 
00113 void NLA_OT_action_sync_length(wmOperatorType *ot);
00114 
00115 void NLA_OT_apply_scale(wmOperatorType *ot);
00116 void NLA_OT_clear_scale(wmOperatorType *ot);
00117 
00118 void NLA_OT_snap(wmOperatorType *ot);
00119 
00120 void NLA_OT_fmodifier_add(wmOperatorType *ot);
00121 void NLA_OT_fmodifier_copy(wmOperatorType *ot);
00122 void NLA_OT_fmodifier_paste(wmOperatorType *ot);
00123 
00124 
00125 /* **************************************** */
00126 /* nla_channels.c */
00127 
00128 void NLA_OT_channels_click(wmOperatorType *ot);
00129 
00130 void NLA_OT_tracks_add(wmOperatorType *ot);
00131 void NLA_OT_delete_tracks(wmOperatorType *ot);
00132 
00133 /* **************************************** */
00134 /* nla_ops.c */
00135 
00136 int nlaop_poll_tweakmode_off(bContext *C);
00137 int nlaop_poll_tweakmode_on (bContext *C);
00138 
00139 short nlaedit_is_tweakmode_on(bAnimContext *ac);
00140 
00141 /* --- */
00142 
00143 void nla_operatortypes(void);
00144 void nla_keymap(wmKeyConfig *keyconf);
00145 
00146 #endif /* ED_NLA_INTERN_H */
00147