Changeset 1390
- Timestamp:
- Nov 14, 2006, 12:16:35 AM (14 years ago)
- Location:
- libcaca/trunk
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
libcaca/trunk/cucul/canvas.c
r1362 r1390 473 473 new = cucul_create_canvas(w, h); 474 474 475 framecount = cucul_get_ canvas_frame_count(cv);475 framecount = cucul_get_frame_count(cv); 476 476 saved_f = cv->frame; 477 477 … … 479 479 { 480 480 if(f) 481 cucul_create_ canvas_frame(new, framecount);482 483 cucul_set_ canvas_frame(cv, f);484 cucul_set_ canvas_frame(new, f);481 cucul_create_frame(new, framecount); 482 483 cucul_set_frame(cv, f); 484 cucul_set_frame(new, f); 485 485 cucul_blit(new, -x, -y, cv, NULL); 486 486 … … 493 493 free(new); 494 494 495 cucul_set_ canvas_frame(cv, saved_f);496 497 return 0; 498 } 499 495 cucul_set_frame(cv, saved_f); 496 497 return 0; 498 } 499 -
libcaca/trunk/cucul/cucul.c
r1381 r1390 59 59 60 60 cv->refcount = 0; 61 cv->autoinc = 0; 61 62 62 63 cv->frame = 0; … … 75 76 cv->frames[0].handlex = cv->frames[0].handley = 0; 76 77 cv->frames[0].curattr = 0; 78 cv->frames[0].name = strdup("frame#00000000"); 77 79 78 80 _cucul_load_frame_info(cv); … … 82 84 { 83 85 int saved_errno = geterrno(); 86 free(cv->frames[0].name); 84 87 free(cv->frames); 85 88 free(cv); … … 186 189 free(cv->frames[f].chars); 187 190 free(cv->frames[f].attrs); 191 free(cv->frames[f].name); 188 192 } 189 193 -
libcaca/trunk/cucul/cucul.h
r1366 r1390 181 181 * 182 182 * @{ */ 183 unsigned int cucul_get_canvas_frame_count(cucul_canvas_t *); 184 int cucul_set_canvas_frame(cucul_canvas_t *, unsigned int); 185 int cucul_create_canvas_frame(cucul_canvas_t *, unsigned int); 186 int cucul_free_canvas_frame(cucul_canvas_t *, unsigned int); 183 unsigned int cucul_get_frame_count(cucul_canvas_t *); 184 int cucul_set_frame(cucul_canvas_t *, unsigned int); 185 char const *cucul_get_frame_name(cucul_canvas_t *); 186 int cucul_set_frame_name(cucul_canvas_t *, char const *); 187 int cucul_create_frame(cucul_canvas_t *, unsigned int); 188 int cucul_free_frame(cucul_canvas_t *, unsigned int); 187 189 /* @} */ 188 190 … … 265 267 int cucul_set_truecolor(cucul_canvas_t *, unsigned int, 266 268 unsigned int) CUCUL_DEPRECATED; 269 unsigned int cucul_get_canvas_frame_count(cucul_canvas_t *) 270 CUCUL_DEPRECATED; 271 int cucul_set_canvas_frame(cucul_canvas_t *, 272 unsigned int) CUCUL_DEPRECATED; 273 int cucul_create_canvas_frame(cucul_canvas_t *, 274 unsigned int) CUCUL_DEPRECATED; 275 int cucul_free_canvas_frame(cucul_canvas_t *, 276 unsigned int) CUCUL_DEPRECATED; 267 277 cucul_buffer_t *cucul_load_memory(void *, 268 278 unsigned long int) CUCUL_DEPRECATED; -
libcaca/trunk/cucul/cucul_internals.h
r1381 r1390 32 32 int handlex, handley; 33 33 uint32_t curattr; 34 35 /* Frame name */ 36 char *name; 34 37 }; 35 38 … … 41 44 42 45 unsigned int refcount; 46 unsigned int autoinc; 43 47 44 48 /* Shortcut to the active frame information */ -
libcaca/trunk/cucul/frame.c
r1381 r1390 37 37 * \return The frame count 38 38 */ 39 unsigned int cucul_get_ canvas_frame_count(cucul_canvas_t *cv)39 unsigned int cucul_get_frame_count(cucul_canvas_t *cv) 40 40 { 41 41 return cv->framecount; … … 54 54 * 55 55 * \param cv A libcucul canvas 56 * \param frameThe canvas frame to activate57 * \return 0 in case of success, -1 if an error occurred. 58 */ 59 int cucul_set_ canvas_frame(cucul_canvas_t *cv, unsigned int frame)60 { 61 if( frame>= cv->framecount)56 * \param id The canvas frame to activate 57 * \return 0 in case of success, -1 if an error occurred. 58 */ 59 int cucul_set_frame(cucul_canvas_t *cv, unsigned int id) 60 { 61 if(id >= cv->framecount) 62 62 { 63 63 seterrno(EINVAL); … … 66 66 67 67 _cucul_save_frame_info(cv); 68 cv->frame = frame;68 cv->frame = id; 69 69 _cucul_load_frame_info(cv); 70 71 return 0; 72 } 73 74 /** \brief Get the current frame's name. 75 * 76 * Return the current frame's name. The returned string is valid until 77 * the frame is deleted or cucul_set_frame_name() is called to change 78 * the frame name again. 79 * 80 * This function never fails. 81 * 82 * \param cv A libcucul canvas. 83 * \return The current frame's name. 84 */ 85 char const *cucul_get_frame_name(cucul_canvas_t *cv) 86 { 87 return cv->frames[cv->frame].name; 88 } 89 90 /** \brief Set the current frame's name. 91 * 92 * Set the current frame's name. Upon creation, a frame has a default name 93 * of \rc "frame#xxxxxxxx" where \c xxxxxxxx is a self-incrementing 94 * hexadecimal number. 95 * 96 * If an error occurs, -1 is returned and \b errno is set accordingly: 97 * - \c ENOMEM Not enough memory to allocate new frame. 98 * 99 * \param cv A libcucul canvas. 100 * \return 0 in case of success, -1 if an error occurred. 101 */ 102 int cucul_set_frame_name(cucul_canvas_t *cv, char const *name) 103 { 104 char *newname = strdup(name); 105 106 if(!newname) 107 { 108 seterrno(ENOMEM); 109 return -1; 110 } 111 112 free(cv->frames[cv->frame].name); 113 cv->frames[cv->frame].name = newname; 70 114 71 115 return 0; … … 92 136 * \return 0 in case of success, -1 if an error occurred. 93 137 */ 94 int cucul_create_ canvas_frame(cucul_canvas_t *cv, unsigned int id)138 int cucul_create_frame(cucul_canvas_t *cv, unsigned int id) 95 139 { 96 140 unsigned int size = cv->width * cv->height; … … 123 167 cv->frames[id].handley = cv->frames[cv->frame].handley; 124 168 169 cv->frames[id].name = strdup("frame#--------"); 170 sprintf(cv->frames[id].name + 6, "%.08x", cv->autoinc++); 171 125 172 return 0; 126 173 } … … 147 194 * \return 0 in case of success, -1 if an error occurred. 148 195 */ 149 int cucul_free_ canvas_frame(cucul_canvas_t *cv, unsigned int id)196 int cucul_free_frame(cucul_canvas_t *cv, unsigned int id) 150 197 { 151 198 unsigned int f; … … 165 212 free(cv->frames[id].chars); 166 213 free(cv->frames[id].attrs); 214 free(cv->frames[id].name); 167 215 168 216 for(f = id + 1; f < cv->framecount; f++) -
libcaca/trunk/cucul/legacy.c
r1366 r1390 108 108 109 109 /* 110 * Functions from frame.c 111 */ 112 113 unsigned int cucul_get_canvas_frame_count(cucul_canvas_t *cv) 114 { 115 return cucul_get_frame_count(cv); 116 } 117 118 int cucul_set_canvas_frame(cucul_canvas_t *cv, unsigned int id) 119 { 120 return cucul_set_frame(cv, id); 121 } 122 123 int cucul_create_canvas_frame(cucul_canvas_t *cv, unsigned int id) 124 { 125 return cucul_create_frame(cv, id); 126 } 127 128 int cucul_free_canvas_frame(cucul_canvas_t *cv, unsigned int id) 129 { 130 return cucul_free_frame(cv, id); 131 } 132 133 /* 110 134 * Functions from buffer.c 111 135 */ -
libcaca/trunk/cxx/cucul++.cpp
r1388 r1390 254 254 unsigned int Cucul::getFrameCount() 255 255 { 256 return cucul_get_ canvas_frame_count(cv);256 return cucul_get_frame_count(cv); 257 257 } 258 258 int Cucul::setFrame(unsigned int f) 259 259 { 260 return cucul_set_ canvas_frame(cv, f);260 return cucul_set_frame(cv, f); 261 261 } 262 262 int Cucul::createFrame(unsigned int f) 263 263 { 264 return cucul_create_ canvas_frame(cv, f);264 return cucul_create_frame(cv, f); 265 265 } 266 266 int Cucul::freeFrame(unsigned int f) 267 267 { 268 return cucul_create_ canvas_frame(cv, f);268 return cucul_create_frame(cv, f); 269 269 } 270 270 -
libcaca/trunk/test/all.c
r1389 r1390 17 17 #if !defined(__KERNEL__) 18 18 # include <stdio.h> 19 # include <string.h> 19 20 #endif 20 21 … … 22 23 #include "caca.h" 23 24 24 #define ITER 1 00025 #define ITER 128 25 26 26 27 int main(int argc, char *argv[]) 27 28 { 28 29 cucul_canvas_t *cv; 29 unsigned int i, w, h;30 unsigned int i, j, w, h; 30 31 31 /* cucul_create_canvas */32 32 fprintf(stderr, "testing cucul_create_canvas()\n"); 33 33 for(i = 0; i < ITER; i++) … … 42 42 } 43 43 44 fprintf(stderr, "testing cucul_set_frame_name()\n"); 45 cv = cucul_create_canvas(1, 1); 46 for(i = 0; i < ITER; i++) 47 { 48 cucul_create_frame(cv, 0); 49 for(j = 0; j < ITER; j++) 50 { 51 char buf[BUFSIZ]; 52 w = cucul_rand(1, 1000); 53 memset(buf, 'x', w); 54 buf[w] = '\0'; 55 cucul_set_frame_name(cv, buf); 56 } 57 } 58 cucul_free_canvas(cv); 59 44 60 fprintf(stderr, "all tests passed\n"); 45 61 return 0; -
libcaca/trunk/test/frames.c
r1347 r1390 34 34 cv = cucul_create_canvas(0, 0); 35 35 for(frame = 1; frame < 200; frame++) 36 cucul_create_ canvas_frame(cv, frame);36 cucul_create_frame(cv, frame); 37 37 38 38 fprintf(stderr, "canvas created, size is %ix%i\n", … … 48 48 for(frame = 0; frame < 16; frame++) 49 49 { 50 cucul_set_ canvas_frame(cv, frame);50 cucul_set_frame(cv, frame); 51 51 cucul_set_color_ansi(cv, CUCUL_WHITE, frame); 52 52 cucul_fill_box(cv, 0, 0, 40, 15, ':'); … … 71 71 while(!caca_get_event(dp, CACA_EVENT_KEY_PRESS, NULL, 0)) 72 72 { 73 cucul_set_ canvas_frame(cv, n % 16);73 cucul_set_frame(cv, n % 16); 74 74 caca_refresh_display(dp); 75 75 n++;
Note: See TracChangeset
for help on using the changeset viewer.