Section Header
  
  
    + name    := BMP_LINE[E];
  
  
    - comment := "Generic bitmap line";
  
Section Inherit
  
  
    + parent_abstract_bmp_line:Expanded ABSTRACT_BMP_LINE;
  
Section Public
  
  
  
  
 Creation.
  
  
  
    - create n:INTEGER :SELF <-
    
  
    - make n:INTEGER <-
  
  
    - create_with_capacity n:INTEGER :SELF <- 
  
         Warning : Not storage copy.
    
  
    - make_with_capacity n:INTEGER <-
      
  
    - create n:INTEGER at offset:UINTEGER_32 :SELF <- 
  
         Warning : Not storage copy.
    
  
    - make n:INTEGER at offset:UINTEGER_32 <-
    
  
    - pixel_geometry:E;
   
  
  
 Put.
  
  
  
    - put col:UINTEGER_32 to n:INTEGER <-
    
  
    - put col:UINTEGER_32 from idx_begin:INTEGER to idx_end:INTEGER <-   
    
  
    - put bmp:ABSTRACT_BMP_LINE offset ofs:INTEGER from idx_begin:INTEGER to idx_end:INTEGER <-
    
  
  
 Get.
  
  
  
    - get_color n:INTEGER :UINTEGER_32 <-
    
  
    - item n:INTEGER :E <- 
  
  
    - item_8  n:INTEGER :PIXEL_8  <- 
  
  
    - item_15 n:INTEGER :PIXEL_15 <- 
  
    - item_16 n:INTEGER :PIXEL_16 <- 
  
    - item_24 n:INTEGER :PIXEL_24 <- 
  
    - item_32 n:INTEGER :PIXEL_32 <- 
  
  
  
 Arrayed consideration.
  
  
  
    - get_storage:NATIVE_ARRAY[UINTEGER_8] <- 
  
  
  
    - element_sizeof:INTEGER <- 
  
    - valid_stream s:INTEGER :BOOLEAN <- 
  
  
    + ofs_buf:INTEGER;
  
  
    - add_last_buffer buf:FAST_ARRAY[UINTEGER_8] from beg:INTEGER to end:INTEGER <-
    
  
  
 Arrayed consideration.
  
  
  
    - set_capacity new_capacity:INTEGER <-