diff options
Diffstat (limited to 'Master/tlpkg/tlgs/Resource/Init/gs_dpnxt.ps')
-rw-r--r-- | Master/tlpkg/tlgs/Resource/Init/gs_dpnxt.ps | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_dpnxt.ps b/Master/tlpkg/tlgs/Resource/Init/gs_dpnxt.ps deleted file mode 100644 index 8e7e241d612..00000000000 --- a/Master/tlpkg/tlgs/Resource/Init/gs_dpnxt.ps +++ /dev/null @@ -1,133 +0,0 @@ -% Copyright (C) 2001-2018 Artifex Software, Inc. -% All Rights Reserved. -% -% This software is provided AS-IS with no warranty, either express or -% implied. -% -% This software is distributed under license and may not be copied, -% modified or distributed except as expressly authorized under the terms -% of the license contained in the file LICENSE in this distribution. -% -% Refer to licensing information at http://www.artifex.com or contact -% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, -% CA 94945, U.S.A., +1(415)492-9861, for further information. -% - -% gs_dpnxt.ps -% NeXT Display PostScript extensions - -% Define the operation values for compositing. These must match the values -% in gsdpnext.h, which also are the ones from the NeXT documentation. -% We put them in systemdict, which seems like as good a place as any. -mark - /Clear /Copy /Sover /Sin /Sout /Satop /Dover /Din /Dout /Datop /Xor - /PlusD /PlusL /Highlight % not sure about Highlight -counttomark { counttomark 1 sub def } repeat pop - -% We implement readimage and sizeimage using the following 3 otherwise -% undocumented lower-level operators: -% -% <x> <y> <width> <height> <matrix> .sizeimagebox -% <dev_x> <dev_y> <dev_width> <dev_height> <matrix> -% -% - .sizeimageparams <bits/sample> <multiproc> <ncolors> -% -% <device> <x> <y> <width> <max_height> <alpha?> <std_depth|null> -% <string> .getbitsrect <height> <substring> -% -% NOTE: These operators are subject to change without notice! - -% Implement readimage using .getbitsrect. Experimentation on a NeXT system -% shows that the data is always returned in order of increasing device Y, -% regardless of the CTM. -% -% Note that we can't make stack protection work for this operator, -% because it must remove its operands from the stack before calling -% the supplied procedure(s). - -/readimage { % <x> <y> <width> <height> <proc> [... <procN-1>] - % <string> <alpha?> readimage - - .sizeimageparams exch { - % multiproc = true. If N > 1, store the procedures in an array. - exch pop 1 index { 1 add } if - % Stack: ... string alpha? nprocs - dup 1 eq { - pop //false % only 1 procedure, multiproc is irrelevant - } { - dup array 4 1 roll 3 add 2 roll astore 3 1 roll //true - } ifelse - } { - % multiproc = false. - pop pop //false - } ifelse - % Map the rectangle to device coordinates. - % Stack: x y w h proc(s) str alpha? multi? - 8 -4 roll matrix .sizeimagebox pop 8 4 roll - % Make sure we allocate the operand array in local VM - % to avoid a possible invalidaccess. - .currentglobal //false .setglobal 9 1 roll - exch { 1 } { 0 } ifelse exch % alpha is last, if present - exch 4 1 roll 8 array astore exch .setglobal - { % Read out a block of scan lines and pass them to the procedure. - % Stack: [x y w h alpha? proc(s) str multi?] -- we must consume this. - dup 3 get 0 eq { pop exit } if - aload 9 1 roll pop exch pop currentdevice 7 1 roll - % Always read out the data as standard (not native) pixels. - .sizeimageparams pop pop exch .getbitsrect - % Stack: [x y w h alpha? proc(s) str multi?] hread substr - 3 -1 roll - % Stack: hread substr [x y w h alpha? proc(s) str multi?] - dup 1 2 copy get 5 index add put - % Stack: hread substr [x y' w h alpha? proc(s) str multi?] - dup 3 2 copy get 6 -1 roll sub put - % Stack: substr [x y' w h' alpha? proc(s) str multi?] - dup 5 get exch 7 get { - % multiproc = true, pass each plane to a different procedure. - % Stack: substr procs - 0 1 2 index length 1 sub { - % Push 1 plane and its procedure under the top 2 elements. - % Stack: ... substr procs plane# - 2 index length 2 index length idiv % bytes per plane - dup 2 index mul exch - % Stack: ... substr procs plane# start length - 4 index 3 1 roll getinterval 4 1 roll - 2 copy get 4 1 roll pop - } for - exch pop length 2 mul .execn - } { - % multiproc = false, just call the procedure. - exec - } ifelse - } //systemdict /exec get 3 packedarray cvx loop -} bind odef - -% -% <w> <h> <bpc> <mtx> <dsrc0> ... <multi> <ncomp> alphaimage - -% -img_utils_dict begin -/.alphaimage where - { - pop - .currentglobal //true .setglobal - /alphaimage - { - //true - //.colorimage - stopped - { /alphaimage .systemvar $error /errorname get signalerror } - if - } - .bind systemdict begin odef end - .setglobal - } -if -end - -% Implement sizeimage using lower-level operators. - -/sizeimage { % <x> <y> <width> <height> <matrix> sizeimage - % <devwidth> <devheight> <bits/sample> <matrix> - % <multiproc> <ncolors> - .sizeimagebox 5 -2 roll pop pop - .sizeimageparams 3 -1 roll 4 1 roll -} bind odef |