/****************************************************************************************/
/*                                                                                      */
/*              Fichier objwin.h                                                        */
/*              Declaration des fonctions sur les objets windows                        */
/*                                                                                      */
/*              Fred Manisse                                                            */
/*                                                                                      */
/****************************************************************************************/

#ifndef OBJWIN_H
#define OBJWIN_H


/* fonction de creations pour les differents type d'objet de l'interface */
HWND NewWindow ( PtrObjWindow Wnd , char * Name , HWND Parent ) ;
HWND NewObjText ( PtrObjText Text , char * Texte , HWND Parent , int Dialog ) ;
HWND NewObjEditLine ( PtrObjText Text , char * Texte , HWND Parent , int Dialog ) ;
HWND NewObjPushButton ( PtrObjButton Psh , char * Name , HWND Parent , int Dialog ) ;
HWND NewObjEditText ( PtrObjText Text , char * Texte , HWND Parent , int Dialog ) ;
HWND NewObjRichText ( PtrObjText Text , char * Texte , HWND Parent , int Dialog ) ;
HWND NewObjCheckBox ( PtrObjButton Psh , char * Name , HWND Parent , int Dialog ) ;
HWND NewObjComboBox ( PtrObjCombo Cb , char * Name , HWND Parent , int Dialog ) ;
HWND NewObjPushButtonBitmap ( PtrObjPushButtonBitmap Pb , HWND Parent , int Dialog ) ;
HBITMAP NewObjBitmap ( PtrObjBitmap B , PtrPalette P ) ;
HMENU NewObjMenu ( ) ;
HFONT NewObjFont ( PtrObjFont F , char * Name ) ;
HWND NewObjListBox ( PtrObjCombo Cb , char * Name , HWND Parent ) ;

/* fonction sur les objets textes */
void SetText ( HWND HW , char * Texte ) ;
void GetLine ( HWND HW , char * Buffer , int Line );
void GetText ( HWND HW , char * Buffer ) ;
int  GetLineCount ( HWND HW ) ;
void AddText ( HWND W , char * Text ) ;

/* fonction de manipulation de palette */
void SetBitmapPalette ( PtrObjBitmap B , PtrPalette P ) ;
void GetBitmapPalette ( PtrObjBitmap B , PtrPalette P ) ;

/* declaration des fonctions pour l'alteration des riches edit textes */
void SetRichTextFont ( HWND h , char * FontName , int start , int end ) ;
void SetRichTextColor ( HWND h , int Color , int start , int end ) ;
void SetRichTextUnderline ( HWND h , int onoff , int start , int end ) ;
void SetRichTextBold ( HWND h , int onoff , int start , int end ) ;
void SetRichTextHeight ( HWND h , int taille , int start , int end ) ;
void SetRichTextItalic ( HWND h , int onoff , int start , int end ) ;
void SetRichTextStrikeout ( HWND h , int onoff , int start , int end ) ;
void SetRichTextOffset ( HWND h , int offset , int start , int end ) ;

/* fonction sur les arbres */
HWND NewObjTree ( PtrObjTree T , HWND Parent ) ;

/* fonction sur les bitmap list */
HIMAGELIST NewBitmapList ( PtrObjListBitmap L ) ;

HWND NewListView ( PtrObjListTab L , HWND Parent ) ;
HWND NewHeader ( PtrObjListTab L , HWND Parent ) ;

int SCOLDropFiles ( mmachine m , HWND hwin , HDROP h , int TypeObjet , int ReflexNum );
void ReadyText ( char * Text );

extern HFONT DefaultFont ;
void FDebug2D ( mmachine m ) ;

int GRCheckHiddenWindow ( mmachine m , HWND h );    
void SCOLremakeScroll ( HWND child ) ;
LRESULT CALLBACK ComboProcBis ( HWND hwnd , unsigned msg , UINT wParam , LONG lParam ) ;
int SCOLEventMoveText ( mmachine m , HWND h , short PosX , short PosY ) ;
int SCOLEventSizeText ( mmachine m , HWND h , int TailleW , int TailleH ) ;

extern HCURSOR   arrowCursor;

#endif


