1. with System;                            use System; 
  2.  
  3. package hqx is 
  4.  
  5.     pragma Pure; 
  6.  
  7.     -- Returns the copyright tag for hqx. 
  8.     function Copyright return String; 
  9.  
  10.     -- Returns a string describing the library version. 
  11.     function Version return String; 
  12.  
  13.     -- Enlarges a image by 3x magnification using the hq2x filter. The 
  14.     -- destination image must be at least twice as large as the source. 
  15.     -- 
  16.     -- src    : the source image data 
  17.     -- dest   : the destination image data (must be large enough!) 
  18.     -- srcXres: the width of the source image in pixels 
  19.     -- dstXres: the width of the destination image in pixels 
  20.     -- width  : the width of the area from the source image to scale 
  21.     -- height : the height of the area from the source image to scale 
  22.     procedure hq2x( src     : Address; 
  23.                     srcXres : Positive; 
  24.                     dst     : Address; 
  25.                     dstXres : Positive; 
  26.                     width, 
  27.                     height  : Positive ); 
  28.     pragma Precondition( src /= Null_Address ); 
  29.     pragma Precondition( dst /= Null_Address ); 
  30.     pragma Precondition( width <= srcXres ); 
  31.     pragma Precondition( dstXres >= width * 2 ); 
  32.  
  33.     -- Enlarges an image by 3x magnification using the hq3x filter. The 
  34.     -- destination image must be at least three times the size of the source. 
  35.     -- 
  36.     -- src    : the source image data 
  37.     -- dest   : the destination image data (must be large enough!) 
  38.     -- srcXres: the width of the source image in pixels 
  39.     -- dstXres: the width of the destination image in pixels 
  40.     -- width  : the width of the area from the source image to scale 
  41.     -- height : the height of the area from the source image to scale 
  42.     procedure hq3x( src     : Address; 
  43.                     srcXres : Positive; 
  44.                     dst     : Address; 
  45.                     dstXres : Positive; 
  46.                     width, 
  47.                     height  : Positive ); 
  48.     pragma Precondition( src /= Null_Address ); 
  49.     pragma Precondition( dst /= Null_Address ); 
  50.     pragma Precondition( width <= srcXres ); 
  51.     pragma Precondition( dstXres >= width * 3 ); 
  52.  
  53.     -- Enlarges an image by 4x magnification using the hq4x filter. The 
  54.     -- destination image must be at least four times the size of the source. 
  55.     -- 
  56.     -- src    : the source image data 
  57.     -- dest   : the destination image data (must be large enough!) 
  58.     -- srcXres: the width of the source image in pixels 
  59.     -- dstXres: the width of the destination image in pixels 
  60.     -- width  : the width of the area from the source image to scale 
  61.     -- height : the height of the area from the source image to scale 
  62.     procedure hq4x( src     : Address; 
  63.                     srcXres : Positive; 
  64.                     dst     : Address; 
  65.                     dstXres : Positive; 
  66.                     width, 
  67.                     height  : Positive ); 
  68.     pragma Precondition( src /= Null_Address ); 
  69.     pragma Precondition( dst /= Null_Address ); 
  70.     pragma Precondition( width <= srcXres ); 
  71.     pragma Precondition( dstXres >= width * 4 ); 
  72.  
  73. end hqx;