105
105
{ render.library palette }
106
106
PALFMT_PALETTE = 4;
108
palette sort mode types
109
for the use with SortPalette()
108
palette sort mode types
109
for the use with SortPalette()
111
111
{ no particular order }
112
112
PALMODE_NONE = $0000;
113
113
{ sort palette entries by brightness }
114
114
PALMODE_BRIGHTNESS = $0001;
115
115
{ sort palette entries by the number of pixels that they represent.
116
You must supply the RND_Histogram taglist argument. }
116
You must supply the RND_Histogram taglist argument. }
117
117
PALMODE_POPULARITY = $0002;
118
118
{ sort palette entries by the number of histogram entries that they
119
represent. You must supply the RND_Histogram taglist argument. }
119
represent. You must supply the RND_Histogram taglist argument. }
120
120
PALMODE_REPRESENTATION = $0003;
121
121
{ sort palette entries by their optical significance for the human
122
eye. Implementation is unknown to you and may change.
123
You must supply the RND_Histogram taglist argument. }
122
eye. Implementation is unknown to you and may change.
123
You must supply the RND_Histogram taglist argument. }
124
124
PALMODE_SIGNIFICANCE = $0004;
125
125
{ sort palette entries by color intensity }
126
126
PALMODE_SATURATION = $0005;
127
127
{ By default, sort direction is descending, i.e. the precedence is
128
more-to-less. Combine with this flag to invert the sort direction. }
128
more-to-less. Combine with this flag to invert the sort direction. }
129
129
PALMODE_ASCENDING = $0008;
135
135
{ histogram type, see below }
136
136
RND_HSType = RND_TAGBASE + 4;
137
137
{ a histogram as an argument }
138
138
RND_Histogram = RND_TAGBASE + 9;
140
Histogram / Palette types
141
to be specified with RND_HSType
140
Histogram / Palette types
141
to be specified with RND_HSType
143
143
{ 12bit dynamic histogram }
144
144
HSTYPE_12BIT = 4;
157
157
{ 18bit tabular histogram }
158
158
HSTYPE_18BIT_TURBO = 22;
160
tags that can be queried via QueryHistogram()
160
tags that can be queried via QueryHistogram()
162
162
{ # pixels in a histogram }
163
163
RND_NumPixels = RND_TAGBASE + 5;
164
164
{ # colors in a histogram }
165
165
RND_NumColors = RND_TAGBASE + 6;
168
rendering and conversions
168
rendering and conversions
171
171
{ color mode, see below }
172
172
RND_ColorMode = RND_TAGBASE + 7;
298
298
EXTP_CALLBACK_ABORTED = 2;
299
299
EXTP_NO_DATA = 3;
302
AddRGB, AddRGBImage and AddChunkyImage return codes
304
You must at least check for ADDH_SUCCESS.
305
If not delivered, the histogram might be
302
AddRGB, AddRGBImage and AddChunkyImage return codes
304
You must at least check for ADDH_SUCCESS.
305
If not delivered, the histogram might be
309
309
ADDH_SUCCESS = 0;
310
310
ADDH_NOT_ENOUGH_MEMORY = 1;
311
311
ADDH_CALLBACK_ABORTED = 2;
312
312
ADDH_NO_DATA = 3;
317
You must at least check for REND_SUCCESS.
318
If not delivered, the image has not been
317
You must at least check for REND_SUCCESS.
318
If not delivered, the image has not been
322
322
REND_SUCCESS = 0;
455
455
FUNCTION AddChunkyImageA(histogram : POINTER; chunky : pByte; width : WORD; height : WORD; palette : POINTER; taglist : pTagItem) : longword;
465
MOVEA.L RenderBase,A6
465
MOVEA.L RenderBase,A6
472
472
FUNCTION AddHistogramA(histogram1 : POINTER; histogram2 : POINTER; taglist : pTagItem) : longword;
476
MOVEA.L histogram1,A0
477
MOVEA.L histogram2,A1
479
MOVEA.L RenderBase,A6
476
MOVEA.L histogram1,A0
477
MOVEA.L histogram2,A1
479
MOVEA.L RenderBase,A6
486
486
FUNCTION AddRGB(histogram : POINTER; RGB : longword; count : longword) : longword;
493
MOVEA.L RenderBase,A6
493
MOVEA.L RenderBase,A6
500
500
FUNCTION AddRGBImageA(histogram : POINTER; rgb : pULONG; width : WORD; height : WORD; taglist : pTagItem) : longword;
509
MOVEA.L RenderBase,A6
509
MOVEA.L RenderBase,A6
516
516
FUNCTION AllocRenderMem(rendermemhandler : POINTER; size : longword) : POINTER;
520
MOVEA.L rendermemhandler,A0
522
MOVEA.L RenderBase,A6
520
MOVEA.L rendermemhandler,A0
522
MOVEA.L RenderBase,A6
529
529
FUNCTION AllocRenderVec(rendermemhandler : POINTER; size : longword) : POINTER;
533
MOVEA.L rendermemhandler,A0
535
MOVEA.L RenderBase,A6
533
MOVEA.L rendermemhandler,A0
535
MOVEA.L RenderBase,A6
542
542
FUNCTION AllocRenderVecClear(rendermemhandler : POINTER; size : longword) : POINTER;
546
MOVEA.L rendermemhandler,A0
548
MOVEA.L RenderBase,A6
546
MOVEA.L rendermemhandler,A0
548
MOVEA.L RenderBase,A6
555
555
PROCEDURE ApplyAlphaChannelA(sourcearray : pULONG; width : WORD; height : WORD; destarray : pULONG; taglist : pTagItem);
559
MOVEA.L sourcearray,A0
564
MOVEA.L RenderBase,A6
559
MOVEA.L sourcearray,A0
564
MOVEA.L RenderBase,A6
570
570
FUNCTION BestPen(palette : POINTER; rgb : longword) : LONGINT;
576
MOVEA.L RenderBase,A6
576
MOVEA.L RenderBase,A6
583
583
PROCEDURE Chunky2BitMapA(chunky : pByte; sx : WORD; sy : WORD; width : WORD; height : WORD; bitmap : pBitMap; dx : WORD; dy : WORD; taglist : pTagItem);
596
MOVEA.L RenderBase,A6
596
MOVEA.L RenderBase,A6
602
602
FUNCTION Chunky2RGBA(chunky : pByte; width : WORD; height : WORD; rgb : pULONG; palette : POINTER; taglist : pTagItem) : longword;
612
MOVEA.L RenderBase,A6
612
MOVEA.L RenderBase,A6
619
619
FUNCTION ChunkyArrayDiversityA(chunky : pByte; palette : POINTER; width : WORD; height : WORD; taglist : pTagItem) : LONGINT;
628
MOVEA.L RenderBase,A6
628
MOVEA.L RenderBase,A6
635
635
FUNCTION ConvertChunkyA(source : pByte; oldpalette : POINTER; width : WORD; height : WORD; dest : pByte; newpalette : POINTER; taglist : pTagItem) : longword;
640
MOVEA.L oldpalette,A1
644
MOVEA.L newpalette,A3
646
MOVEA.L RenderBase,A6
640
MOVEA.L oldpalette,A1
644
MOVEA.L newpalette,A3
646
MOVEA.L RenderBase,A6
653
653
FUNCTION CountRGB(histogram : POINTER; rgb : longword) : longword;
659
MOVEA.L RenderBase,A6
659
MOVEA.L RenderBase,A6
666
666
PROCEDURE CreateAlphaArrayA(rgbarray : pULONG; width : WORD; height : WORD; taglist : pTagItem);
674
MOVEA.L RenderBase,A6
674
MOVEA.L RenderBase,A6
680
680
FUNCTION CreateHistogramA(taglist : pTagItem) : POINTER;
685
MOVEA.L RenderBase,A6
685
MOVEA.L RenderBase,A6
692
692
FUNCTION CreateMapEngineA(palette : POINTER; taglist : pTagItem) : POINTER;
698
MOVEA.L RenderBase,A6
698
MOVEA.L RenderBase,A6
705
705
FUNCTION CreatePaletteA(taglist : pTagItem) : POINTER;
710
MOVEA.L RenderBase,A6
710
MOVEA.L RenderBase,A6
717
717
PROCEDURE CreatePenTableA(chunky : pByte; oldpalette : POINTER; width : WORD; height : WORD; newpalette : POINTER; convtab : pByte; taglist : pTagItem);
722
MOVEA.L oldpalette,A1
725
MOVEA.L newpalette,A2
728
MOVEA.L RenderBase,A6
722
MOVEA.L oldpalette,A1
725
MOVEA.L newpalette,A2
728
MOVEA.L RenderBase,A6
734
734
FUNCTION CreateRMHandlerA(taglist : pTagItem) : POINTER;
739
MOVEA.L RenderBase,A6
739
MOVEA.L RenderBase,A6
746
746
FUNCTION CreateScaleEngineA(sourcewidth : WORD; sourceheight : WORD; destwidth : WORD; destheight : WORD; taglist : pTagItem) : POINTER;
750
MOVE.L sourcewidth,D0
751
MOVE.L sourceheight,D1
755
MOVEA.L RenderBase,A6
750
MOVE.L sourcewidth,D0
751
MOVE.L sourceheight,D1
755
MOVEA.L RenderBase,A6
762
762
PROCEDURE DeleteHistogram(histogram : POINTER);
767
MOVEA.L RenderBase,A6
767
MOVEA.L RenderBase,A6
773
773
PROCEDURE DeleteMapEngine(engine : POINTER);
778
MOVEA.L RenderBase,A6
778
MOVEA.L RenderBase,A6
784
784
PROCEDURE DeletePalette(palette : POINTER);
789
MOVEA.L RenderBase,A6
789
MOVEA.L RenderBase,A6
795
795
PROCEDURE DeleteRMHandler(rmh : POINTER);
800
MOVEA.L RenderBase,A6
800
MOVEA.L RenderBase,A6
806
806
PROCEDURE DeleteScaleEngine(engine : POINTER);
811
MOVEA.L RenderBase,A6
811
MOVEA.L RenderBase,A6
817
817
PROCEDURE ExportPaletteA(palette : POINTER; coltab : POINTER; taglist : pTagItem);
824
MOVEA.L RenderBase,A6
824
MOVEA.L RenderBase,A6
830
830
PROCEDURE ExtractAlphaChannelA(rgbarray : pULONG; width : WORD; height : WORD; chunkyarray : pByte; taglist : pTagItem);
837
MOVEA.L chunkyarray,A1
839
MOVEA.L RenderBase,A6
837
MOVEA.L chunkyarray,A1
839
MOVEA.L RenderBase,A6
845
845
FUNCTION ExtractPaletteA(histogram : POINTER; palette : pULONG; numcolors : WORD; taglist : pTagItem) : longword;
853
MOVEA.L RenderBase,A6
853
MOVEA.L RenderBase,A6
860
860
PROCEDURE FlushPalette(palette : POINTER);
865
MOVEA.L RenderBase,A6
865
MOVEA.L RenderBase,A6
871
871
PROCEDURE FreeRenderMem(rendermemhandler : POINTER; mem : POINTER; size : longword);
875
MOVEA.L rendermemhandler,A0
878
MOVEA.L RenderBase,A6
875
MOVEA.L rendermemhandler,A0
878
MOVEA.L RenderBase,A6
884
884
PROCEDURE FreeRenderVec(mem : POINTER);
889
MOVEA.L RenderBase,A6
889
MOVEA.L RenderBase,A6
895
895
PROCEDURE ImportPaletteA(palette : POINTER; coltab : POINTER; numcols : WORD; taglist : pTagItem);
903
MOVEA.L RenderBase,A6
903
MOVEA.L RenderBase,A6
909
909
PROCEDURE InsertAlphaChannelA(maskarray : pByte; width : WORD; height : WORD; rgbarray : pULONG; taglist : pTagItem);
918
MOVEA.L RenderBase,A6
918
MOVEA.L RenderBase,A6
924
924
FUNCTION MapChunkyArrayA(engine : POINTER; source : pByte; palette : POINTER; width : WORD; height : WORD; dest : pByte; taglist : pTagItem) : longword;
935
MOVEA.L RenderBase,A6
935
MOVEA.L RenderBase,A6
942
942
FUNCTION MapRGBArrayA(engine : POINTER; rgb : pULONG; width : WORD; height : WORD; chunky : pByte; taglist : pTagItem) : longword;
952
MOVEA.L RenderBase,A6
952
MOVEA.L RenderBase,A6
959
959
PROCEDURE MixAlphaChannelA(source1 : pULONG; source2 : pULONG; width : WORD; height : WORD; dest : pULONG; taglist : pTagItem);
969
MOVEA.L RenderBase,A6
969
MOVEA.L RenderBase,A6
975
975
PROCEDURE MixRGBArrayA(sourcearray : pULONG; width : WORD; height : WORD; destarray : pULONG; ratio : WORD; taglist : pTagItem);
979
MOVEA.L sourcearray,A0
985
MOVEA.L RenderBase,A6
979
MOVEA.L sourcearray,A0
985
MOVEA.L RenderBase,A6
991
991
PROCEDURE Planar2ChunkyA(planetab : pPLANEPTR; bytewidth : WORD; height : WORD; depth : WORD; bytesperrow : WORD; chunky : pByte; taglist : pTagItem);
999
MOVE.L bytesperrow,D3
1002
MOVEA.L RenderBase,A6
999
MOVE.L bytesperrow,D3
1002
MOVEA.L RenderBase,A6
1008
1008
FUNCTION QueryHistogram(histogram : POINTER; d0arg : longword) : longword;
1012
MOVEA.L histogram,A0
1014
MOVEA.L RenderBase,A6
1012
MOVEA.L histogram,A0
1014
MOVEA.L RenderBase,A6
1021
1021
FUNCTION RenderA(rgb : pULONG; width : WORD; height : WORD; chunky : pByte; palette : POINTER; taglist : pTagItem) : longword;
1031
MOVEA.L RenderBase,A6
1031
MOVEA.L RenderBase,A6
1038
1038
FUNCTION RGBArrayDiversityA(rgb : pULONG; width : WORD; height : WORD; taglist : pTagItem) : LONGINT;
1046
MOVEA.L RenderBase,A6
1046
MOVEA.L RenderBase,A6
1053
1053
FUNCTION ScaleA(engine : POINTER; source : POINTER; dest : POINTER; taglist : pTagItem) : longword;
1061
MOVEA.L RenderBase,A6
1061
MOVEA.L RenderBase,A6
1068
1068
FUNCTION ScaleOrdinate(source : WORD; dest : WORD; ordinate : WORD) : WORD;
1075
MOVEA.L RenderBase,A6
1075
MOVEA.L RenderBase,A6
1082
1082
FUNCTION SortPaletteA(palette : POINTER; mode : longword; taglist : pTagItem) : longword;
1089
MOVEA.L RenderBase,A6
1089
MOVEA.L RenderBase,A6
1096
1096
PROCEDURE TintRGBArrayA(source : pULONG; width : WORD; height : WORD; RGB : longword; ratio : WORD; dest : pULONG; taglist : pTagItem);
1107
MOVEA.L RenderBase,A6
1107
MOVEA.L RenderBase,A6