Add initial prototype.
This commit is contained in:
77
3-mid/opengl/private/gid/gid-decoding_png.ads
Normal file
77
3-mid/opengl/private/gid/gid-decoding_png.ads
Normal file
@@ -0,0 +1,77 @@
|
||||
private package GID.Decoding_PNG is
|
||||
|
||||
type PNG_Chunk_tag is (
|
||||
--
|
||||
-- Critical chunks
|
||||
--
|
||||
IHDR, -- must be the first chunk; it contains the header.
|
||||
PLTE, -- contains the palette; list of colors.
|
||||
IDAT, -- contains the image, which may be split among multiple IDAT chunks.
|
||||
IEND, -- marks the image end.
|
||||
--
|
||||
-- Ancillary chunks
|
||||
--
|
||||
bKGD, -- gives the default background color.
|
||||
cHRM, -- gives the chromaticity coordinates of the display primaries and white point.
|
||||
gAMA, -- specifies gamma.
|
||||
hIST, -- can store the histogram, or total amount of each color in the image.
|
||||
iCCP, -- is an ICC color profile.
|
||||
iTXt, -- contains UTF-8 text, compressed or not, with an optional language tag.
|
||||
pHYs, -- holds the intended pixel size and/or aspect ratio of the image.
|
||||
sBIT, -- (significant bits) indicates the color-accuracy of the source data.
|
||||
sPLT, -- suggests a palette to use if the full range of colors is unavailable.
|
||||
sRGB, -- indicates that the standard sRGB color space is used.
|
||||
tEXt, -- can store text that can be represented in ISO/IEC 8859-1.
|
||||
tIME, -- stores the time that the image was last changed.
|
||||
tRNS, -- contains transparency information.
|
||||
zTXt, -- contains compressed text with the same limits as tEXt.
|
||||
--
|
||||
-- Public extentions
|
||||
-- PNG Extensions and Register of Public Chunks and Keywords
|
||||
--
|
||||
oFFs, -- image offset from frame or page origin
|
||||
pCAL, -- physical calibration of pixel values
|
||||
sCAL, -- physical scale of image subject
|
||||
sTER, -- stereographic subimage layout
|
||||
gIFg, -- GIF Graphic Control Extension
|
||||
gIFx, -- GIF Application Extension
|
||||
fRAc, -- fractal image parameters
|
||||
--
|
||||
-- Private chunks (not defined in the ISO standard)
|
||||
--
|
||||
vpAg, -- used in ImageMagick to store "virtual page" size
|
||||
spAL,
|
||||
prVW,
|
||||
cmOD,
|
||||
cmPP,
|
||||
cpIp,
|
||||
mkBF,
|
||||
mkBS,
|
||||
mkBT,
|
||||
mkTS,
|
||||
pcLb
|
||||
);
|
||||
|
||||
type Chunk_head is record
|
||||
length: U32;
|
||||
kind : PNG_Chunk_tag;
|
||||
end record;
|
||||
|
||||
procedure Read( image: in out image_descriptor; ch: out Chunk_head);
|
||||
|
||||
--------------------
|
||||
-- Image decoding --
|
||||
--------------------
|
||||
|
||||
generic
|
||||
type Primary_color_range is mod <>;
|
||||
with procedure Set_X_Y (x, y: Natural);
|
||||
with procedure Put_Pixel (
|
||||
red, green, blue : Primary_color_range;
|
||||
alpha : Primary_color_range
|
||||
);
|
||||
with procedure Feedback (percents: Natural);
|
||||
--
|
||||
procedure Load (image: in out Image_descriptor);
|
||||
|
||||
end GID.Decoding_PNG;
|
||||
Reference in New Issue
Block a user