diff options
Diffstat (limited to 'Master/tlpkg/tlgs/lib/gs_fform.ps')
-rw-r--r-- | Master/tlpkg/tlgs/lib/gs_fform.ps | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/Master/tlpkg/tlgs/lib/gs_fform.ps b/Master/tlpkg/tlgs/lib/gs_fform.ps deleted file mode 100644 index 235ce5af72c..00000000000 --- a/Master/tlpkg/tlgs/lib/gs_fform.ps +++ /dev/null @@ -1,91 +0,0 @@ -% Copyright (C) 2001-2012 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., 7 Mt. Lassen Drive - Suite A-134, San Rafael, -% CA 94903, U.S.A., +1(415)492-9861, for further information. -% - -% Form caching implemented in PostScript. - -% This implementation doesn't do the right thing about halftone or -% Pattern phase, but the Pattern cache doesn't either.... - -% The Form cache key is the Form dictionary; the value is an array -% of 2 elements [CTM pattern_instance]. -% -% In order to prevent restore from clearing the cache, we explicitly -% push the cache entries on the stack before a restore and reinstall them. -currentglobal false setglobal -/.formcachedict 20 dict def % must be local -true setglobal -/restore { - mark .formcachedict { } forall - counttomark 1 add index { //restore } .internalstopped - { cleartomark //restore } - { counttomark 2 idiv { .formcachedict 3 1 roll put } repeat pop pop } - ifelse -} bind odef - -/.execform1 { - dup /Implementation known not { - dup /FormType get 1 ne { /rangecheck signalerror } if - % The Implementation is a Pattern that will draw the form. - currentglobal 1 index gcheck setglobal - % Stack: form global - 10 dict begin - /PatternType 1 def - /PaintType 1 def % colored - /TilingType 1 def % irrelevant - % Copy the BBox to the correct VM. - /BBox 2 index /BBox get 4 array copy exch 1 index def - % Set XStep and YStep to very large numbers, - % so we won't get multiple copies of the form. - /XStep 1 index dup 2 get exch 0 get sub 100 mul def - /YStep exch dup 3 get exch 1 get sub 100 mul def - /PaintProc 2 index /PaintProc get def - currentdict end readonly - % Stack: form global impl - exch setglobal - 1 index /Implementation 3 -1 roll .forceput - } if - .formcachedict 1 index .knownget { - % Check whether we can use the cached value. - % Stack: form cachevalue - matrix currentmatrix true 0 1 3 { - % Stack: form cachevalue curmat true index - 3 index 0 get 1 index get exch 3 index exch get ne { - pop pop false exit - } if - } for exch pop - } { - false - } ifelse not - { % Make a new cache entry. - gsave - matrix currentmatrix dup 4 0 put dup 5 0 put dup setmatrix - % Stack: form mat - 1 index /Implementation get - 2 index /Matrix get - makepattern 2 array astore - .formcachedict 2 index 2 index put - grestore - } if - % Stack: form cachevalue - -1 0 0 transform - 2 { exch round cvi } repeat .setscreenphase - 1 get setpattern - /BBox get aload pop - exch 3 index sub exch 2 index sub rectfill -} .bind odef % must bind .forceput - -.formtypes 1 /.execform1 load put - -setglobal |