diff --git a/include/bitmap.h b/include/bitmap.h
index 6ec1ad0..ae02e76 100644
--- a/include/bitmap.h
+++ b/include/bitmap.h
@@ -49,11 +49,13 @@
 }
 
   /* objects/bitmap.c */
-extern BOOL32 BITMAP_Init(void);
-extern INT16 BITMAP_GetObject16( BITMAPOBJ * bmp, INT16 count, LPVOID buffer );
-extern INT32 BITMAP_GetObject32( BITMAPOBJ * bmp, INT32 count, LPVOID buffer );
-extern BOOL32 BITMAP_DeleteObject( HBITMAP16 hbitmap, BITMAPOBJ * bitmap );
+extern BOOL32  BITMAP_Init(void);
+extern INT16   BITMAP_GetObject16( BITMAPOBJ * bmp, INT16 count, LPVOID buffer );
+extern INT32   BITMAP_GetObject32( BITMAPOBJ * bmp, INT32 count, LPVOID buffer );
+extern BOOL32  BITMAP_DeleteObject( HBITMAP16 hbitmap, BITMAPOBJ * bitmap );
 extern XImage *BITMAP_GetXImage( const BITMAPOBJ *bmp );
+extern INT32   BITMAP_GetBitsPadding( int width, int depth );
+extern INT32   BITMAP_GetBitsWidth( int width, int depth );
 
   /* objects/dib.c */
 extern int DIB_GetDIBWidthBytes( int width, int depth );
