Subversion Repositories filter_foundry

Rev

Rev 482 | Rev 485 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 482 Rev 484
Line 32... Line 32...
32
 
32
 
33
extern FilterRecordPtr gpb;
33
extern FilterRecordPtr gpb;
34
 
34
 
35
PSPixelMap preview_pmap;
35
PSPixelMap preview_pmap;
36
PSPixelMask preview_pmask;
36
PSPixelMask preview_pmask;
37
Handle preview_handle;
37
BufferID preview_handle;
38
UIRECT preview_rect;
38
UIRECT preview_rect;
39
int preview_w,preview_h,previewerr = false,needall = false,needinput = true;
39
int preview_w,preview_h,previewerr = false,needall = false,needinput = true;
40
Point preview_scroll;
40
Point preview_scroll;
41
Boolean preview_complete = false;
41
Boolean preview_complete = false;
42
double zoomfactor,fitzoom;
42
double zoomfactor,fitzoom;
Line 102... Line 102...
102
                        preview_pmask.maskDescription = kSimplePSMask;
102
                        preview_pmask.maskDescription = kSimplePSMask;
103
                        preview_pmap.masks = &preview_pmask;
103
                        preview_pmap.masks = &preview_pmask;
104
                }else
104
                }else
105
                        preview_pmap.masks = NULL;
105
                        preview_pmap.masks = NULL;
106
 
106
 
107
                preview_handle = PINEWHANDLE((long)preview_h * preview_pmap.rowBytes);
107
                preview_handle = newBuffer((long)preview_h * preview_pmap.rowBytes);
108
        }else
108
        }else
109
                preview_handle = NULL;
109
                preview_handle = NULL;
110
        return preview_handle != NULL;
110
        return preview_handle != NULL;
111
 
111
 
112
        //---------------------------------------------------------------------------
112
        //---------------------------------------------------------------------------
Line 116... Line 116...
116
//      preview_pmap.colorManagementOptions;
116
//      preview_pmap.colorManagementOptions;
117
}
117
}
118
 
118
 
119
void dispose_preview(){
119
void dispose_preview(){
120
        if(preview_handle){
120
        if(preview_handle){
121
                PIDISPOSEHANDLE(preview_handle);
121
                disposeBuffer(preview_handle);
122
                preview_handle = NULL;
122
                preview_handle = NULL;
123
        }
123
        }
124
}
124
}
125
 
125
 
126
void* memset_bgcolor(void* ptr, size_t num) {
126
void* memset_bgcolor(void* ptr, size_t num) {
Line 276... Line 276...
276
                SETRECT(MASK_RECT(pb), 0, 0, 0, 0);
276
                SETRECT(MASK_RECT(pb), 0, 0, 0, 0);
277
                pb->inLoPlane = pb->outLoPlane = 0;
277
                pb->inLoPlane = pb->outLoPlane = 0;
278
                pb->inHiPlane = pb->outHiPlane = nplanes - 1;
278
                pb->inHiPlane = pb->outHiPlane = nplanes - 1;
279
 
279
 
280
                if (!needinput || !(e = pb->advanceState())) {
280
                if (!needinput || !(e = pb->advanceState())) {
281
                        Ptr outptr = PILOCKHANDLE(preview_handle, false);
281
                        Ptr outptr = lockBuffer(preview_handle);
282
                        int blankrows = (preview_h - imgh) / 2,
282
                        int blankrows = (preview_h - imgh) / 2,
283
                            blankcols = (preview_w - imgw) / 2,
283
                            blankcols = (preview_w - imgw) / 2,
284
                            pmrb = preview_pmap.rowBytes;
284
                            pmrb = preview_pmap.rowBytes;
285
 
285
 
286
                        evalinit();
286
                        evalinit();
Line 332... Line 332...
332
                                        SetPort(saveport);
332
                                        SetPort(saveport);
333
                                }
333
                                }
334
                                #endif
334
                                #endif
335
                        }
335
                        }
336
 
336
 
337
                        PIUNLOCKHANDLE(preview_handle);
337
                        unlockBuffer(preview_handle);
338
                }
338
                }
339
 
339
 
340
                if (e && !previewerr) {
340
                if (e && !previewerr) {
341
                        alertuser((TCHAR*)TEXT("Could not build preview at chosen zoom level."),
341
                        alertuser((TCHAR*)TEXT("Could not build preview at chosen zoom level."),
342
                                e == memFullErr && !needall ? (TCHAR*)TEXT("The image is too large for available memory. Try zooming in.\nIf that does not help, cancel and retry the filter.") : (TCHAR*)TEXT(""));
342
                                e == memFullErr && !needall ? (TCHAR*)TEXT("The image is too large for available memory. Try zooming in.\nIf that does not help, cancel and retry the filter.") : (TCHAR*)TEXT(""));
Line 411... Line 411...
411
                SETRECT(BIGDOC_MASK_RECT(pb), 0, 0, 0, 0);
411
                SETRECT(BIGDOC_MASK_RECT(pb), 0, 0, 0, 0);
412
                pb->inLoPlane = pb->outLoPlane = 0;
412
                pb->inLoPlane = pb->outLoPlane = 0;
413
                pb->inHiPlane = pb->outHiPlane = nplanes - 1;
413
                pb->inHiPlane = pb->outHiPlane = nplanes - 1;
414
 
414
 
415
                if (!needinput || !(e = pb->advanceState())) {
415
                if (!needinput || !(e = pb->advanceState())) {
416
                        Ptr outptr = PILOCKHANDLE(preview_handle, false);
416
                        Ptr outptr = lockBuffer(preview_handle);
417
                        int blankrows = (preview_h - imgh) / 2,
417
                        int blankrows = (preview_h - imgh) / 2,
418
                            blankcols = (preview_w - imgw) / 2,
418
                            blankcols = (preview_w - imgw) / 2,
419
                            pmrb = preview_pmap.rowBytes;
419
                            pmrb = preview_pmap.rowBytes;
420
 
420
 
421
                        evalinit();
421
                        evalinit();
Line 467... Line 467...
467
                                        SetPort(saveport);
467
                                        SetPort(saveport);
468
                                }
468
                                }
469
                                #endif
469
                                #endif
470
                        }
470
                        }
471
 
471
 
472
                        PIUNLOCKHANDLE(preview_handle);
472
                        unlockBuffer(preview_handle);
473
                }
473
                }
474
 
474
 
475
                if (e && !previewerr) {
475
                if (e && !previewerr) {
476
                        alertuser((TCHAR*)TEXT("Could not build preview at chosen zoom level."),
476
                        alertuser((TCHAR*)TEXT("Could not build preview at chosen zoom level."),
477
                                e == memFullErr && !needall ? (TCHAR*)TEXT("The image is too large for available memory. Try zooming in.\nIf that does not help, cancel and retry the filter.") : (TCHAR*)TEXT(""));
477
                                e == memFullErr && !needall ? (TCHAR*)TEXT("The image is too large for available memory. Try zooming in.\nIf that does not help, cancel and retry the filter.") : (TCHAR*)TEXT(""));