    indexing
    	description: "Page size constants for use with EV_POSTSCRIPT_PROJECTOR."
    	legal: "See notice at end of class."
    	status: "See notice at end of class."
    	keywords: "postscript, page, size, dimensions"
    	date: "$Date: 2006-01-22 18:25:44 -0800 (Sun, 22 Jan 2006) $"
    	revision: "$Revision: 56675 $"

    class interface
    	EV_POSTSCRIPT_PAGE_CONSTANTS

    create
    	default_create
    			-- Process instances of classes with no creation clause.
    			-- (Default: do nothing.)
    			-- (from ANY)

    feature -- Access

    	generating_type: STRING_8
    			-- Name of current object's generating type
    			-- (type of which it is a direct instance)
    			-- (from ANY)

    	generator: STRING_8
    			-- Name of current object's generating class
    			-- (base class of the type of which it is a direct instance)
    			-- (from ANY)

    feature -- Comparison

    	frozen deep_equal (some: ANY; other: like arg #1): BOOLEAN
    			-- Are `some' and `other' either both void
    			-- or attached to isomorphic object structures?
    			-- (from ANY)
    		ensure -- from ANY
    			shallow_implies_deep: standard_equal (some, other) implies Result
    			both_or_none_void: (some = Void) implies (Result = (other = Void))
    			same_type: (Result and (some /= Void)) implies some.same_type (other)
    			symmetric: Result implies deep_equal (other, some)

    	frozen equal (some: ANY; other: like arg #1): BOOLEAN
    			-- Are `some' and `other' either both void or attached
    			-- to objects considered equal?
    			-- (from ANY)
    		ensure -- from ANY
    			definition: Result = (some = Void and other = Void) or else ((some /= Void and other /= Void) and then some.is_equal (other))

    	is_equal (other: like Current): BOOLEAN
    			-- Is `other' attached to an object considered
    			-- equal to current object?
    			-- (from ANY)
    		require -- from ANY
    			other_not_void: other /= Void
    		ensure -- from ANY
    			symmetric: Result implies other.is_equal (Current)
    			consistent: standard_is_equal (other) implies Result

    	frozen standard_equal (some: ANY; other: like arg #1): BOOLEAN
    			-- Are `some' and `other' either both void or attached to
    			-- field-by-field identical objects of the same type?
    			-- Always uses default object comparison criterion.
    			-- (from ANY)
    		ensure -- from ANY
    			definition: Result = (some = Void and other = Void) or else ((some /= Void and other /= Void) and then some.standard_is_equal (other))

    	frozen standard_is_equal (other: like Current): BOOLEAN
    			-- Is `other' attached to an object of the same type
    			-- as current object, and field-by-field identical to it?
    			-- (from ANY)
    		require -- from ANY
    			other_not_void: other /= Void
    		ensure -- from ANY
    			same_type: Result implies same_type (other)
    			symmetric: Result implies other.standard_is_equal (Current)

    feature -- Status report

    	conforms_to (other: ANY): BOOLEAN
    			-- Does type of current object conform to type
    			-- of `other' (as per Eiffel: The Language, chapter 13)?
    			-- (from ANY)
    		require -- from ANY
    			other_not_void: other /= Void

    	default_bottom_margin: INTEGER_32 is 20
    			-- Default size in pixels of the right side page margin.

    	default_left_margin: INTEGER_32 is 20
    			-- Default size in pixels of the left side page margin.

    	page_height (a_size: INTEGER_32; landscape: BOOLEAN): INTEGER_32
    			-- Return the page height in points (1 inch/72)
    			-- for the specified page size and orientation.
    		require
    			valid_size: valid_page_size (a_size)

    	page_width (a_size: INTEGER_32; landscape: BOOLEAN): INTEGER_32
    			-- Return the page width in points (1 inch/72)
    			-- for the specified page size and orientation.
    		require
    			valid_size: valid_page_size (a_size)

    	same_type (other: ANY): BOOLEAN
    			-- Is type of current object identical to type of `other'?
    			-- (from ANY)
    		require -- from ANY
    			other_not_void: other /= Void
    		ensure -- from ANY
    			definition: Result = (conforms_to (other) and other.conforms_to (Current))

    feature -- Duplication

    	copy (other: like Current)
    			-- Update current object using fields of object attached
    			-- to `other', so as to yield equal objects.
    			-- (from ANY)
    		require -- from ANY
    			other_not_void: other /= Void
    			type_identity: same_type (other)
    		ensure -- from ANY
    			is_equal: is_equal (other)

    	frozen deep_copy (other: like Current)
    			-- Effect equivalent to that of:
    			--		copy (`other' . deep_twin)
    			-- (from ANY)
    		require -- from ANY
    			other_not_void: other /= Void
    		ensure -- from ANY
    			deep_equal: deep_equal (Current, other)

    	frozen deep_twin: like Current
    			-- New object structure recursively duplicated from Current.
    			-- (from ANY)
    		ensure -- from ANY
    			deep_equal: deep_equal (Current, Result)

    	frozen standard_copy (other: like Current)
    			-- Copy every field of `other' onto corresponding field
    			-- of current object.
    			-- (from ANY)
    		require -- from ANY
    			other_not_void: other /= Void
    			type_identity: same_type (other)
    		ensure -- from ANY
    			is_standard_equal: standard_is_equal (other)

    	frozen standard_twin: like Current
    			-- New object field-by-field identical to `other'.
    			-- Always uses default copying semantics.
    			-- (from ANY)
    		ensure -- from ANY
    			standard_twin_not_void: Result /= Void
    			equal: standard_equal (Result, Current)

    	frozen twin: like Current
    			-- New object equal to `Current'
    			-- twin calls copy; to change copying/twining semantics, redefine copy.
    			-- (from ANY)
    		ensure -- from ANY
    			twin_not_void: Result /= Void
    			is_equal: Result.is_equal (Current)

    feature -- Basic operations

    	frozen default: like Current
    			-- Default value of object's type
    			-- (from ANY)

    	frozen default_pointer: POINTER
    			-- Default value of type `POINTER'
    			-- (Avoid the need to write `p'.default for
    			-- some `p' of type `POINTER'.)
    			-- (from ANY)

    	default_rescue
    			-- Process exception for routines with no Rescue clause.
    			-- (Default: do nothing.)
    			-- (from ANY)

    	frozen do_nothing
    			-- Execute a null action.
    			-- (from ANY)

    feature -- Constants

    	a0: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A1, A2, A3, A4, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9 and B10.

    	a1: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A0, A2, A3, A4, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9 and B10.

    	a2: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A0, A1, A3, A4, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9 and B10.

    	a3: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A0, A1, A2, A4, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9 and B10.

    	a4: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A0, A1, A2, A3, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9 and B10.

    	a5: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A0, A1, A2, A3, A4, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9 and B10.

    	a6: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A0, A1, A2, A3, A4, A5, A7, A8, A9, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9 and B10.

    	a7: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A0, A1, A2, A3, A4, A5, A6, A8, A9, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9 and B10.

    	a8: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A0, A1, A2, A3, A4, A5, A6, A7, A9, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9 and B10.

    	a9: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A0, A1, A2, A3, A4, A5, A6, A7, A8, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9 and B10.

    	b0: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, B1, B2, B3, B4, B5, B6, B7, B8, B9 and B10.

    	b1: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, B0, B2, B3, B4, B5, B6, B7, B8, B9 and B10.

    	b10: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, B6, B7, B8 and B9.

    	b2: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, B0, B1, B3, B4, B5, B6, B7, B8, B9 and B10.

    	b3: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, B0, B1, B2, B4, B5, B6, B7, B8, B9 and B10.

    	b4: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, B0, B1, B2, B3, B5, B6, B7, B8, B9 and B10.

    	b5: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B6, B7, B8, B9 and B10.

    	b6: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, B7, B8, B9 and B10.

    	b7: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, B6, B8, B9 and B10.

    	b8: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, B6, B7, B9 and B10.

    	b9: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, B6, B7, B8 and B10.

    	c5envelope: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9 and B10.

    	comm10envelope: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9 and B10.

    	dlenvelope: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Folio, Executive, Letter, Legal, Ledger, Tabloid, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9 and B10.

    	executive: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Letter, Legal, Ledger, Tabloid, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9 and B10.

    	folio: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Executive, Letter, Legal, Ledger, Tabloid, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9 and B10.

    	ledger: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Tabloid, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9 and B10.

    	legal: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Ledger, Tabloid, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9 and B10.

    	letter: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Legal, Ledger, Tabloid, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9 and B10.

    	tabloid: INTEGER_32 is unique
    			-- Valid page constants.
    			-- Was declared in EV_POSTSCRIPT_PAGE_CONSTANTS with other unique constants Comm10envelope, C5envelope, Dlenvelope, Folio, Executive, Letter, Legal, Ledger, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, B6, B7, B8, B9 and B10.

    feature -- Contract support

    	valid_page_size (a_size: INTEGER_32): BOOLEAN
    			-- Is `a_size' a valid page value?

    feature -- Output

    	io: STD_FILES
    			-- Handle to standard file setup
    			-- (from ANY)

    	out: STRING_8
    			-- New string containing terse printable representation
    			-- of current object
    			-- Was declared in ANY as synonym of tagged_out.
    			-- (from ANY)

    	print (some: ANY)
    			-- Write terse external representation of `some'
    			-- on standard output.
    			-- (from ANY)

    	frozen tagged_out: STRING_8
    			-- New string containing terse printable representation
    			-- of current object
    			-- Was declared in ANY as synonym of out.
    			-- (from ANY)

    feature -- Platform

    	operating_environment: OPERATING_ENVIRONMENT
    			-- Objects available from the operating system
    			-- (from ANY)

    invariant
    		-- from ANY
    	reflexive_equality: standard_is_equal (Current)
    	reflexive_conformance: conforms_to (Current)

    indexing
    	copyright: "Copyright (c) 1984-2006, Eiffel Software and others"
    	license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
    	source: "[
    		Eiffel Software
    		356 Storke Road, Goleta, CA 93117 USA
    		Telephone 805-685-1006, Fax 805-685-6869
    		Website http://www.eiffel.com
    		Customer support http://support.eiffel.com
    	]"

    end -- class EV_POSTSCRIPT_PAGE_CONSTANTS