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("")); |