Changeset 2055 for libcaca/trunk/caca
- Timestamp:
- Nov 25, 2007, 3:11:58 PM (13 years ago)
- Location:
- libcaca/trunk/caca
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
libcaca/trunk/caca/caca.c
r1462 r2055 43 43 #endif 44 44 45 static int caca_can_resize(caca_display_t *); 45 46 static int caca_select_driver(caca_display_t *); 46 47 #if defined(USE_PLUGINS) … … 62 63 * \return The caca graphical context or NULL if an error occurred. 63 64 */ 64 caca_display_t * caca_create_display(cucul_canvas_t * 65 caca_display_t * caca_create_display(cucul_canvas_t *cv) 65 66 { 66 67 caca_display_t *dp = malloc(sizeof(caca_display_t)); … … 69 70 { 70 71 seterrno(ENOMEM); 72 return NULL; 73 } 74 75 if(cucul_manage_canvas(cv, (int (*)(void *))caca_can_resize, (void *)dp)) 76 { 77 free(dp); 78 seterrno(EBUSY); 71 79 return NULL; 72 80 } … … 83 91 dlclose(dp->plugin); 84 92 #endif 93 cucul_unmanage_canvas(cv, (int (*)(void *))caca_can_resize, (void *)dp); 85 94 free(dp); 86 95 seterrno(ENODEV); … … 94 103 dlclose(dp->plugin); 95 104 #endif 105 cucul_unmanage_canvas(cv, (int (*)(void *))caca_can_resize, (void *)dp); 96 106 free(dp); 97 107 seterrno(ENODEV); 98 108 return NULL; 99 109 } 100 101 /* Attached! */102 dp->cv->refcount++;103 110 104 111 /* Graphics stuff */ … … 128 135 /* Resize events */ 129 136 dp->resize.resized = 0; 137 dp->resize.allow = 0; 130 138 131 139 return dp; … … 150 158 dlclose(dp->plugin); 151 159 #endif 152 dp->cv->refcount--;160 cucul_unmanage_canvas(dp->cv, (int (*)(void *))caca_can_resize, (void *)dp); 153 161 free(dp); 154 162 … … 159 167 * XXX: The following functions are local. 160 168 */ 169 170 static int caca_can_resize(caca_display_t *dp) 171 { 172 return dp->resize.allow; 173 } 161 174 162 175 static int caca_select_driver(caca_display_t *dp) -
libcaca/trunk/caca/caca_internals.h
r2049 r2055 142 142 { 143 143 int resized; /* A resize event was requested */ 144 int allow; /* The display driver allows resizing */ 144 145 unsigned w, h; /* Requested width and height */ 145 146 } resize; -
libcaca/trunk/caca/driver_cocoa.m
r2040 r2055 835 835 836 836 unsigned int width = dp->cv->width, height = dp->cv->height; 837 __cucul_set_canvas_size(dp->cv, width ? width : 80, height ? height : 32); 837 dp->resize.allow = 1; 838 cucul_set_canvas_size(dp->cv, width ? width : 80, height ? height : 32); 839 dp->resize.allow = 0; 838 840 839 841 // first create a full cocoa app if the host has no bundle -
libcaca/trunk/caca/driver_conio.c
r2049 r2055 59 59 /* FIXME */ 60 60 # endif 61 __cucul_set_canvas_size(dp->cv, dp->drv.p->ti.screenwidth, 62 dp->drv.p->ti.screenheight); 61 dp->resize.allow = 1; 62 cucul_set_canvas_size(dp->cv, dp->drv.p->ti.screenwidth, 63 dp->drv.p->ti.screenheight); 64 dp->resize.allow = 0; 65 63 66 return 0; 64 67 } -
libcaca/trunk/caca/driver_gl.c
r2049 r2055 103 103 #endif 104 104 105 __cucul_set_canvas_size(dp->cv, width ? width : 80, height ? height : 32); 105 dp->resize.allow = 1; 106 cucul_set_canvas_size(dp->cv, width ? width : 80, height ? height : 32); 107 dp->resize.allow = 0; 106 108 107 109 /* Load a libcucul internal font */ -
libcaca/trunk/caca/driver_ncurses.c
r2049 r2055 302 302 } 303 303 304 __cucul_set_canvas_size(dp->cv, COLS, LINES); 304 dp->resize.allow = 1; 305 cucul_set_canvas_size(dp->cv, COLS, LINES); 306 dp->resize.allow = 0; 305 307 306 308 return 0; -
libcaca/trunk/caca/driver_raw.c
r2049 r2055 41 41 #endif 42 42 43 __cucul_set_canvas_size(dp->cv, width ? width : 80, height ? height : 24); 43 dp->resize.allow = 1; 44 cucul_set_canvas_size(dp->cv, width ? width : 80, height ? height : 24); 45 dp->resize.allow = 0; 44 46 45 47 return 0; -
libcaca/trunk/caca/driver_slang.c
r2049 r2055 171 171 #endif 172 172 173 __cucul_set_canvas_size(dp->cv, SLtt_Screen_Cols, SLtt_Screen_Rows); 173 dp->resize.allow = 1; 174 cucul_set_canvas_size(dp->cv, SLtt_Screen_Cols, SLtt_Screen_Rows); 175 dp->resize.allow = 0; 174 176 175 177 return 0; -
libcaca/trunk/caca/driver_vga.c
r2049 r2055 77 77 78 78 /* We don't have much choice */ 79 __cucul_set_canvas_size(dp->cv, 80, 25); 79 dp->resize.allow = 1; 80 cucul_set_canvas_size(dp->cv, 80, 25); 81 dp->resize.allow = 0; 80 82 81 83 return 0; -
libcaca/trunk/caca/driver_win32.c
r2049 r2055 127 127 return -1; 128 128 129 __cucul_set_canvas_size(dp->cv, 130 csbi.srWindow.Right - csbi.srWindow.Left + 1, 131 csbi.srWindow.Bottom - csbi.srWindow.Top + 1); 129 dp->resize.allow = 1; 130 cucul_set_canvas_size(dp->cv, 131 csbi.srWindow.Right - csbi.srWindow.Left + 1, 132 csbi.srWindow.Bottom - csbi.srWindow.Top + 1); 133 dp->resize.allow = 0; 132 134 133 135 SetConsoleMode(dp->drv.p->screen, 0); -
libcaca/trunk/caca/driver_x11.c
r2049 r2055 89 89 #endif 90 90 91 __cucul_set_canvas_size(dp->cv, width ? width : 80, height ? height : 32); 91 dp->resize.allow = 1; 92 cucul_set_canvas_size(dp->cv, width ? width : 80, height ? height : 32); 93 dp->resize.allow = 0; 92 94 93 95 dp->drv.p->dpy = XOpenDisplay(NULL); -
libcaca/trunk/caca/graphics.c
r2043 r2055 239 239 /* Tell libcucul we changed size */ 240 240 if(dp->resize.w != dp->cv->width || dp->resize.h != dp->cv->height) 241 __cucul_set_canvas_size(dp->cv, dp->resize.w, dp->resize.h); 241 { 242 dp->resize.allow = 1; 243 cucul_set_canvas_size(dp->cv, dp->resize.w, dp->resize.h); 244 dp->resize.allow = 0; 245 } 242 246 } 243 247
Note: See TracChangeset
for help on using the changeset viewer.