/********************************************/
/*                                          */
/* win.h                                    */
/*                                          */
/********************************************/

//
// Modification History
//
//$LB (16/12/2003) : add _SETwindowTransparency, SetWindowTransparency and _SIMULATEwindowTransparency
//


#ifndef _WIN_H_
#define _WIN_H_



#include "x/scolplugin.h"
#include "x/version.h"







/****************************************************************************************/ 
/*                                                                                      */ 
/*      Declaration des fonctions du package win.pkg                                    */ 
/*                                                                                      */ 
/****************************************************************************************/ 

WNDPROC WindowProc;

HWND NewWindow ( PtrObjWindow Wnd , char * Name , HWND Parent ) ;


int GRCreateWindow      ( mmachine m ) ; /* creation d'une fenetre                             */ 
int GRHideWindow        ( mmachine m ) ; /* cache une fenetre                                  */ 
int GRUnhideWindow      ( mmachine m ) ; /* reaffiche une fenetre                              */ 
int GRSetWindowName     ( mmachine m ) ; /* change le nom d'une fenetre                        */ 
int GRReflexWinPaint    ( mmachine m ) ; /* definit le reflex paint d'une fenetre              */ 
int GRReflexWinMove     ( mmachine m ) ; /* definit le reflex move d'une fenetre               */ 
int GRReflexWinSize     ( mmachine m ) ; /* definit le reflex size d'une fenetre               */ 
int GRReflexWinClick    ( mmachine m ) ; /* definit le reflex click d'une fenetre              */ 
int GRReflexWinUnclick  ( mmachine m ) ; /* definit le reflex unclick d'une fenetre            */ 
int GRReflexWinKeyDown  ( mmachine m ) ; /* definit le reflex keydown d'une fenetre            */ 
int GRReflexWinKeyUp    ( mmachine m );  /* definit le reflex keyup d'une fenetre              */ 
int GRReflexWinDestroy  ( mmachine m ) ; /* definit le reflex destroy d'une fenetre            */ 
int GRReflexWinClose    ( mmachine m ) ; /* definit le reflex close  d'une fenetre            */ 
int GRDestroyObjWin     ( mmachine m ) ; /* detruit une fenetre                                */ 
int GRMoveWindow        ( mmachine m ) ; /* deplace une fenetre                                */ 
int GRShowWindow        ( mmachine m ) ; /* minimize une fenetre                               */ 
int GRTextOut           ( mmachine m ) ; /* affiche du texte dans un buffer graphique /fenetre */ 
int GRSetFocus          ( mmachine m ) ; /* donne le focus a une fenetre                       */ 
int GRResizeWindow      ( mmachine m ) ; /* change la taille d'une fenetre                     */ 
int GRGetSizePositionWindow (mmachine m);/* saisie la taille+position+etat d'une fenetre       */ 
int GRPaintObjWin       ( mmachine m ) ; /* repeind une fenetre                                */ 
int GRReflexCursorMove  ( mmachine m ) ; /* definit le curseur move de la souris               */ 
int GRGetClientRect     ( mmachine m ) ; /* obtient la taille client de la fenetre             */ 
int GRGetScreenSize     ( mmachine m ) ; /* retourne la definition graphique                   */ 
int GRGetDesktopSize    ( mmachine m ) ; /* retourne la definition du bureau                   */ 
int GRReflexWinFocus    ( mmachine m ) ; /* definit le reflex get focus d'une fenetre          */ 
int GRReflexWinKillFocus (mmachine m ) ; /* definit le reflex kill focus d'une fenetre         */ 
int GRReposWindow       ( mmachine m ) ; /* reposition et redimensionne une fenetre            */ 
int GRGetClientRect2    ( mmachine m ) ; /* retourne la zone client d'une fenetre              */ 
int GRGetPositionSizeWindow (mmachine m);/* saisie position+taille d'une fenetre               */ 
int GRReflexWinDClick   ( mmachine m ) ; /* definit le reflexe pour le double clcik            */ 
int GRReflexWinDropFile ( mmachine m ) ; /* definit le reflexe pour le dragdrop de file        */ 
int GRSetWindowStyle	(mmachine m) ; 		 /* redefinit le style d'une fenetre 									 */
int GRTopWindow         ( mmachine m ) ; /* amene une fenetre au premier plan                  */ 
//$BLG: v4.6a7 - Add
int GRTopMostWindow     ( mmachine m ) ; /* gčre le plan d'affectation d'une fenetre           */ 
//$BLG - v5.21: Add
int GRClickWindow				(mmachine m); 	/* envoit un click ŕ une fenętre											 */
int GRUnClickWindow			(mmachine m); 	/* envoit un unclick ŕ une fenętre										 */
int GRDblClickWindow		(mmachine m); 	/* envoit un dblclick ŕ une fenętre										 */
int GRMouseMoveWindow		(mmachine m);		/* envoit un mouse move ŕ une fenętre									 */
int GRKeyDownWindow			(mmachine m);		/* envoit un keydown ŕ une fenętre										 */
int GRKeyUpWindow				(mmachine m);		/* envoit un keyup ŕ une fenętre											 */

int GRPositionEx        ( mmachine m ) ; /* positionne la fenetre, d'apres coord exterieure    */ 
int GRSizeEx            ( mmachine m ) ; /* positionne la fenetre, d'apres coord exterieure    */ 
int GRSetWindowMinSize  ( mmachine m ) ; /* fixe taille minimale d'un fenetre resizable        */ 
int GRSetWindowMaxSize  ( mmachine m ) ; /* fixe taille maximale d'une fenetre resizable       */ 
int GREnableWindow      ( mmachine m ) ; /* enable disable un objet window, button, etc ...    */ 
int GRGetSysColor       ( mmachine m ) ; /* recupere les couleurs par defaut                   */ 
int GRCreateScrollWindow( mmachine m ) ; /* cree une fenetre avec ascenseur + fille            */ 
int GRFullScreenWindow( mmachine m ) ;
int GRDesktopWindow( mmachine m ) ;
int GRReflexWinWheel    ( mmachine m ) ; /* definit le reflex wheel d'une fenetre            */ 
int GRReflexWinSuspend ( mmachine m );
int GRReflexWinResume ( mmachine m );

//$BB
int GRSetWindowIcon ( mmachine m );

#endif