void WINEXP FMNewClipboard( void ) /********************************/ { FreeClipboard(); ClipBoard.task = GET_CURRENT_TASK(); }
void WINEXP FMResetClipboard( void ) /**********************************/ /* Reset the list of copy objects */ { if( ClipBoard.task == GET_CURRENT_TASK() ) { FreeClipboard(); } }
void clip_putlasso(GEM_WINDOW *gwnd, int x1, int y1, int x2, int y2, MFDB *mask, MFDB *masked_img) { VXIMAGE *vimage ; if ( !GWIsWindowValid( gwnd ) ) return ; vimage = (VXIMAGE *) gwnd->Extension ; FreeClipboard() ; memcpy(&clipboard.img, masked_img, sizeof(MFDB)) ; memcpy(&clipboard.mask, mask, sizeof(MFDB)) ; clipboard.gwindow = gwnd ; clipboard.x = x1 ; clipboard.y = y1 ; clipboard.w = 1+x2-x1 ; clipboard.h = 1+y2-y1 ; if (config.clip_gem == 1) { char name[200] ; mouse_busy() ; if ( clbd_getpath( name ) == 0 ) { INFO_IMAGE info ; memcpy( &info, &vimage->inf_img, sizeof(INFO_IMAGE) ) ; info.largeur = clipboard.img.fd_w ; info.hauteur = clipboard.img.fd_h ; if ( Truecolor ) { strcat(name, "SCRAP.TIF") ; info.compress = 1 ; info.lformat = IID_TIFF ; } else { strcat(name, "SCRAP.IMG") ; info.lformat = IID_IMG ; } save_picture( name, &clipboard.img, &vimage->inf_img, NULL ) ; } mouse_restore() ; } }
void clip_put(GEM_WINDOW *gwnd, int x1, int y1, int x2, int y2) { VXIMAGE *vimage ; int xy[8] ; int temp ; int larg ; int w, h ; if ( !GWIsWindowValid( gwnd ) ) return ; vimage = (VXIMAGE *) gwnd->Extension ; if (x2 < x1) { temp = x1 ; x1 = x2 ; x2 = temp ; } if (y2 < y1) { temp = y1 ; y1 = y2 ; y2 = temp ; } FreeClipboard() ; w = 1+x2-x1 ; h = 1+y2-y1 ; if (w % 16) larg = (16+w) & 0xFFF0 ; else larg = w ; if (larg < MINIW) larg = MINIW ; if (h < MINIH) h = MINIH ; clipboard.img.fd_addr = img_alloc(larg, h, nb_plane) ; if (clipboard.img.fd_addr == NULL) { form_error(8) ; return ; } clipboard.img.fd_w = larg ; clipboard.img.fd_h = h ; clipboard.img.fd_wdwidth = larg/16 ; clipboard.img.fd_nplanes = nb_plane ; clipboard.img.fd_stand = 0 ; clipboard.gwindow = gwnd ; clipboard.x = x1 ; clipboard.y = y1 ; clipboard.w = 1+x2-x1 ; clipboard.h = 1+y2-y1 ; img_raz(&clipboard.img) ; xy[0] = x1 ; xy[1] = y1 ; xy[2] = x2 ; xy[3] = y2 ; xy[4] = 0 ; xy[5] = 0 ; xy[6] = x2-x1 ; xy[7] = y2-y1 ; vro_cpyfm(handle, S_ONLY, xy, &vimage->raster, &clipboard.img) ; if ( config.clip_gem == 1 ) { char name[PATH_MAX] ; mouse_busy() ; if ( clbd_getpath( name ) == 0 ) { INFO_IMAGE info ; IMG_MODULE *img_module ; memcpy( &info, &vimage->inf_img, sizeof(INFO_IMAGE) ) ; info.largeur = clipboard.img.fd_w ; info.hauteur = clipboard.img.fd_h ; info.compress = 1 ; strcat( name, "SCRAP." ) ; if ( Truecolor ) info.lformat = IID_TIFF ; else info.lformat = IID_IMG ; img_module = DImgGetModuleFromIID( info.lformat ) ; if ( img_module ) { strcat( name, img_module->Capabilities.file_extension ) ; save_picture( name, &clipboard.img, &info, NULL ) ; } } mouse_restore() ; } }
void UninitSelAutoCopy() { bInitSelAutoCopy=FALSE; FreeClipboard(&wpClipboard, &pClipboard); }