1 #pragma once 2 3 #ifndef _READCASM_H_ 4 #define _READCASM_H_ 5 6 #include "toonzproc.h" 7 #include "casm_node.h" 8 9 #undef TNZAPI 10 #undef TNZVAR 11 #ifdef TNZ_IS_CASMLIB 12 #define TNZAPI TNZ_EXPORT_API 13 #define TNZVAR TNZ_EXPORT_VAR 14 #else 15 #define TNZAPI TNZ_IMPORT_API 16 #define TNZVAR TNZ_IMPORT_VAR 17 #endif 18 19 TNZAPI int n_compute(CASM_NODE *node, int x1, int y1, int x2, int y2, float dx, 20 float dy, RASTER *raster, CASM_TILE *out); 21 22 TNZAPI int n_compare(CASM_NODE *n1, CASM_NODE *n2); 23 24 TNZAPI void n_write(CASM_NODE *n, T_CHAN fp); 25 26 TNZAPI CASM_NODE *n_insert(CASM_NODE *node); 27 28 TNZAPI CASM_FRAME *readcasm(char *filename, int first_frame, int last_frame, 29 int frame_step, int shrink, 30 CASM_COMPUTE_FUNCTION **compute_functions, 31 TBOOL is_central_affine, TBOOL is_tv_licence); 32 33 TNZAPI int readcasm_get_camera_size(int *lx, int *ly); 34 35 TNZAPI char *readcasm_get_sink_script(char ***argv); 36 37 TNZAPI int readcasm_get_audio_info(int *from_audio, int *to_audio, 38 int *from_video, char **audioname); 39 40 TNZAPI int readcasm_set_camera_size(int lx, int ly, int shrink); 41 42 TNZAPI int readcasm_get_field(void); 43 44 TNZAPI void readcasm_get_camera_dpi(double *camera_x_dpi, double *camera_y_dpi); 45 46 TNZAPI int readcasm_get_frames_n(void); 47 48 TNZAPI int is_binary_op(CASM_NODE *arg, CASM_NODE **arg2, CASM_NODE **arg3); 49 50 TNZAPI int is_special_binary_op(CASM_NODE *arg, CASM_NODE **arg2, 51 CASM_NODE **arg3); 52 53 TNZAPI int is_unary_op(CASM_NODE *arg, CASM_NODE **arg2); 54 55 TNZAPI int is_n_ary_op(CASM_NODE *arg, int *num_args, CASM_NODE ***args); 56 57 TNZAPI int is_affine_op(CASM_NODE *n, CASM_NODE **arg); 58 59 TNZAPI int get_affine_args(CASM_NODE *n, AFFINE *aff, CASM_NODE **arg); 60 61 TNZAPI CASM_NODE *create_affine_op(AFFINE *aff, CASM_NODE *n); 62 63 TNZAPI int n_compare_ric(CASM_NODE *tree1, CASM_NODE *tree2); 64 65 TNZAPI void make_border(RASTER *raster); 66 67 TNZAPI void readcasm_create_new_frame(CASM_NODE *node, char *filename); 68 69 TNZAPI void readcasm_do_for_all_frames(void (*fun)(CASM_FRAME *f)); 70 71 TNZAPI void readcasm_touch_frames(void); 72 73 TNZAPI int is_read_op(CASM_NODE *arg); 74 75 TNZAPI int is_backlit_op(CASM_NODE *arg, CASM_NODE **arg2, CASM_NODE **arg3); 76 77 TNZAPI int n_compare_ric(CASM_NODE *tree1, CASM_NODE *tree2); 78 79 TNZAPI void make_border(RASTER *raster); 80 81 TNZAPI void reset_camera_size(void); 82 83 TNZAPI CASM_NODE *go_to_leaf_node(CASM_NODE *node); 84 85 TNZAPI void apply_extcmap(CASM_NODE *node, char *cmapname); 86 87 TNZAPI int readcasm_frame(CASM_FRAME **frame); 88 89 TNZAPI void init_readcasm_functions(CASM_COMPUTE_FUNCTION **casm_functions, 90 int pipeid, int shrink); 91 92 TNZAPI void init_readcasm_input_channel(void); 93 94 TNZAPI CASM_FRAME *get_tree_pointer(void); 95 96 TNZAPI void readcasm_set_msg_trace(void); 97 TNZAPI TBOOL readcasm_open_log_file(char *casmname, char *filename); 98 TNZAPI TBOOL readcasm_close_log_file(void); 99 TNZAPI void readcasm_set_frame(int frame_num); 100 TNZAPI int readcasm_get_frame(void); 101 102 TNZAPI void readcasm_get_render_tile(int *x1, int *y1, int *x2, int *y2); 103 104 TNZAPI int is_matte_op(CASM_NODE *n, CASM_NODE **arg_dn, CASM_NODE **arg_up); 105 TNZAPI int is_localblur_op(CASM_NODE *n, CASM_NODE **arg_dn, 106 CASM_NODE **arg_up); 107 TNZAPI int is_localtransp_op(CASM_NODE *n, CASM_NODE **arg_dn, 108 CASM_NODE **arg_up); 109 TNZAPI int is_ovr_op(CASM_NODE *n, CASM_NODE **arg_dn, CASM_NODE **arg_up); 110 TNZAPI int is_add_op(CASM_NODE *n, CASM_NODE **arg_dn, CASM_NODE **arg_up); 111 TNZAPI int is_warp_op(CASM_NODE *n, CASM_NODE **arg_dn, CASM_NODE **arg_up); 112 TNZAPI int is_colorcard_op(CASM_NODE *n); 113 TNZAPI int get_add_args(CASM_NODE *n, CASM_NODE **arg_dn, CASM_NODE **arg_up, 114 float *value); 115 TNZAPI int there_is_colorcard(CASM_NODE *arg); 116 TNZAPI int there_is_standard_colorcard(CASM_NODE *arg); 117 TNZAPI int there_is_colorcard_with_ovr(CASM_NODE *arg); 118 TNZAPI TBOOL get_colorcard_rgbm(CASM_NODE *arg, LPIXEL *color); 119 120 TNZAPI enum CASM_RESAMPLE_TYPE get_resample_type(void); 121 TNZAPI void casm_set_resample_type(enum CASM_RESAMPLE_TYPE type); 122 123 TNZAPI void free_casmtree(CASM_NODE *n); 124 TNZAPI CASM_NODE *dup_casmtree(CASM_NODE *n); 125 TNZAPI CASM_NODE *make_subtree(CASM_NODE *n, int from_column, int to_column); 126 TNZAPI int split_tree(CASM_NODE *tree, CASM_NODE **lefttree, 127 CASM_NODE **righttree, int occurrence); 128 TNZAPI int writecasm(CASM_FRAME *frames_list, T_CHAN fp, int start_frame, 129 int write_header, TBOOL is_central_affine); 130 TNZAPI int get_level_list(CASM_NODE *tree, char ***levels); 131 TNZAPI CASM_NODE *change_leaf(CASM_NODE *tree, int occurrence, 132 char *newlevelname, char *newpalette, int dx, 133 int dy); 134 TNZAPI CASM_NODE *make_a_sandwich(CASM_NODE *bread_dn_tree, char *newlevelname, 135 char *newpalette, int dx, int dy, 136 CASM_NODE *bread_up_tree); 137 138 TNZAPI void write_raster(char *filename, RASTER *raster); 139 TNZAPI int read_raster(char *filename, RASTER *raster, int shrink, int border, 140 double *x_dpi, double *y_dpi); 141 142 /* 143 #undef TNZAPI 144 #ifdef WIN32 145 #ifdef TNZ_IS_COMMONLIB 146 #define TNZAPI TNZ_EXPORT_API 147 #else 148 #define TNZAPI TNZ_IMPORT_API 149 #endif 150 #else 151 #define TNZAPI extern 152 #endif 153 */ 154 155 TNZVAR int Is_casm; 156 TNZVAR int Always_scale_opt; 157 158 #endif 159