home *** CD-ROM | disk | FTP | other *** search
-
- doloaddt.m -- A datatype load, scale, remap and dither module.
-
- COPYRIGHT ©1993,94 by:
-
- US.Snail: Chad Randall
- 229 S.Washington St.
- Manchester, Michigan, 48157-9680 USA
- Internet: crandall@garnet.msen.com
-
-
- Permission is granted for usage is the following contions are met:
-
- 1. Program displays "Datatype scaler written by Chad Randall" or equivelent,
- but only if an "About" window is used.
-
- 2. Program documentation contains author and copyright information.
- At minimum, a duplication of information located at beginning of this source.
-
- 3. If PD or Freeware, no fee is neccesary.
-
- 4. If Shareware, then a registered version of said program must be mailed to me.
-
- 5. Commercial usage must be authorized by me before distribution.
-
-
-
-
-
- To use this module from your E program, you must have E 3.0, as I'm
- not sure if it'll work on earlier versions. You can try if you want.
-
-
- Just place the following line near the top of your main E source file:
-
- MODULE '*doloaddt' -> If the module is in the same directory, or
-
- MODULE 'tools/doloaddt' -> if it's located in EMODULES:tools
-
-
- The format of the call is:
-
- doloaddt(source,rastport,colormap,xtop,ytop,width,height,tags)
-
- source: Either a pointer to a string or a clipboard unit number.
- (If source <257 then it's treated as a unit number, strings
- shouldn't reside below here, anyways!)
-
- rastport: A pointer to a valid rastport. No checks are made.
-
- colormap: A pointer to a valid colormap. No checks are made.
-
- xtop: The leftmost/topmost point that can be affected.
- ytop:
-
- width: The size of the buffer you wish to fill.
- height:
-
- tags: A pointer to a list of tagitems;
-
- name /type /default
-
- DLDT_CENTER /boolean/FALSE
- If =TRUE then the image is centered in the buffer.
-
- DLDT_INTEGERSCALE /boolean/FALSE
- If =TRUE then integerscaling will be performed. NOT TESTED (much)
-
- DLDT_DITHER /boolean/TRUE
- If =TRUE then then dithering is performed.
-
- DLDT_REMAP /boolean/TRUE
- If =TRUE then FindColor(colormap) is used to remap colors.
-
- DLDT_ASPECTX /integer/1
- DLDT_ASPECTY /integer/1
- Defines the screen aspect of X:Y
-
- DLDT_SCALE /boolean/TRUE
- If =TRUE then image is scaled to fit buffer, else it's clipped
-
- DLDT_USEASPECT /boolean/TRUE
- If =TRUE then aspect information is used in scaling, otherwise
- it's ignored.
-
- DLDT_ENLARGE /boolean/FALSE
- NOT IMPLEMENTED
-
- DLDT_CLEAR /boolean/TRUE
- IF =TRUE, then buffer is cleared
-
- DLDT_GAUGE /PTR TO gauge/0
- IF present, then a gauge struct is used to display progress.
- "gauge" is defined below
-
- DLDT_CLIGAUGE /string/0
- If present, a string is filled with a number from 1-100 to
- indicate the percentage done. String should contain a "%s"
- symbol.
-
- DLDT_HOOK /0/0
- NOT IMPLEMENTED/DONT USE
-
- DLDT_INFO /PTR TO imageinfo/0
- If present, an imageinfo struct will be filled with picture/buffer
- information. Defined below.
-
- DLDT_BIDIRECTIONAL
- NOT IMPLEMENTED
-
- DLDT_DIARRAY
- NOT IMPLEMENTED
-
- DLDT_HIGHPEN /integer/-1
- Highest pen to use for FindColor(). A -1 indicates all pens.
-
- DLDT_FILLCMAP
- PRIVATE
-
- DLDT_GREYSCALE /boolean/FALSE
- Creates a greyscale icon
-
- DLDT_QUANTIZE /integer/256
- Defines number of greyscales to use.
-
- DLDT_CUSTOMFINDCOLOR
- NOT IMPLEMENTED
-
- DLDT_RENDERHAM /integer/0
- Defines HAM rendering mode. Use 6 or 8.
-
- DLDT_HAMTHRESHOLD /integer/64
- Defines the fringing limit threshold.
-
- DLDT_FULLHAMBASE /integer/3
- Defines the number of ham-base colors.
-
- DLDT_DISCARDERROR /boolean/FALSE
- Helps HAM fringing a little if =TRUE. Experimental.
-
-
- OBJECT gauge
- rast:PTR TO rastport -> rastport to draw progress bar in
- scr:PTR TO screen -> needed for drawinfo
- x:INT -> dimensions of bar box. NO "bevel" box is drawn.
- y:INT -> that's up to YOU.
- w:INT
- h:INT
- ENDOBJECT
-
-
- OBJECT imageinfo
- source_w:LONG -> source picture dimensions
- source_h:LONG
- destination_x:LONG -> what was affected inside the rastport
- destination_y:LONG
- destination_w:LONG
- destination_h:LONG
- depth:LONG -> the depth of the source picture
- highest_pen:LONG ->
- reserved1:LONG
- reserved2:LONG
- reserved3:LONG
- reserved4:LONG
- reserved5:LONG
- reserved6:LONG
- reserved7:LONG
- reserved8:LONG
- blackpen:LONG -> A pen closest to black
- whitepen:LONG -> A pen closest to white
- greypen:LONG -> A pen closest to grey
- ENDOBJECT
-
-