ftp.nice.ch/pub/next/developer/objc/fromnext/MiniExamples.91.9.s.tar.gz#/MiniExamples/PaginationLab/BigView.h

This is BigView.h in view mode; [Download] [Up]

/* BigView.h
 * Purpose: Demonstrates custom pagination.
 * a BigView is a "matrix" of 3x4 rectangles, each of which is 8" x 10"
 * A bigView therefore has very logical page breaks, although the Appkit by
 * default won't break up the bigView on those boundaries.  This class demonstrates
 * how to do this.  This class also demonstrates somewhat optimized scrolling by only
 * drawing affected pages (because a page is the smallest divisible unit in this class.)
 *
 * You may freely copy, distribute, and reuse the code in this example.
 * NeXT disclaims any warranty of any kind, expressed or  implied, as to its
 * fitness for any particular use.
 */

#import <appkit/View.h>

#define AUTO 0
#define AUTOWITHHELP 1
#define APPCONTROLLED 2

@interface BigView:View
{
	id pi;
	float realScale;
}

void _drawRect(float x, float y, char *str, char *num, BOOL darkFlag);

- initFrame:(const NXRect *)frameRect;
- drawSelf:(const NXRect *)rects :(int)rectCount;
- (BOOL)knowsPagesFirst:(int *)firstPageNum last:(int *)lastPageNum;
- (BOOL)getRect:(NXRect *)theRect forPage:(int)page;
- placePrintRect:(const NXRect *)aRect offset:(NXPoint *)location;
- addToPageSetup;
- adjustPageHeightNew:(float *)newBottom
	top:(float)oldTop
	bottom:(float)oldBottom
	limit:(float)bottomLimit;
- adjustPageWidthNew:(float *)newRight
	left:(float)oldLeft
	right:(float)oldRight
	limit:(float)rightLimit;
- endPrologue;
- setPrintInfo:newPi;

@end

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.