/*===========================================================================
	  C++ class	definitions	exported from UnrealScript.
	  This is automatically	generated by the tools.
	  DO NOT modify	this manually! Edit	the	corresponding .uc files	instead!
===========================================================================*/
#if SUPPORTS_PRAGMA_PACK
#pragma pack (push,4)
#endif

#ifndef GUI_API
#define GUI_API DLL_IMPORT
#endif

#ifndef NAMES_ONLY
#define AUTOGENERATE_NAME(name) extern GUI_API	FName GUI_##name;
#define AUTOGENERATE_FUNCTION(cls,idx,name)
#endif

AUTOGENERATE_NAME(Activate)
AUTOGENERATE_NAME(AddComponent)
AUTOGENERATE_NAME(AlignControlsInGroup)
AUTOGENERATE_NAME(AlignThumb)
AUTOGENERATE_NAME(AppendComponent)
AUTOGENERATE_NAME(BringBackward)
AUTOGENERATE_NAME(BringForward)
AUTOGENERATE_NAME(BringToBack)
AUTOGENERATE_NAME(BringToFront)
AUTOGENERATE_NAME(ChangeFocus)
AUTOGENERATE_NAME(ChangeHint)
AUTOGENERATE_NAME(ChangeStyle)
AUTOGENERATE_NAME(Click)
AUTOGENERATE_NAME(CompareItem)
AUTOGENERATE_NAME(CreateComponent)
AUTOGENERATE_NAME(CreateControl)
AUTOGENERATE_NAME(CreateMenu)
AUTOGENERATE_NAME(DblClick)
AUTOGENERATE_NAME(DeActivate)
AUTOGENERATE_NAME(DisableComponent)
AUTOGENERATE_NAME(ElementsEqual)
AUTOGENERATE_NAME(EnableComponent)
AUTOGENERATE_NAME(FindComponent)
AUTOGENERATE_NAME(FindComponentIndex)
AUTOGENERATE_NAME(FindPersistentComponent)
AUTOGENERATE_NAME(Focus)
AUTOGENERATE_NAME(Free)
AUTOGENERATE_NAME(GetFont)
AUTOGENERATE_NAME(GetGuiResolution)
AUTOGENERATE_NAME(GetMenuFont)
AUTOGENERATE_NAME(GetStyle)
AUTOGENERATE_NAME(GroupControl)
AUTOGENERATE_NAME(HandleParameters)
AUTOGENERATE_NAME(Hide)
AUTOGENERATE_NAME(Initialize)
AUTOGENERATE_NAME(InsertComponent)
AUTOGENERATE_NAME(InternalCloseList)
AUTOGENERATE_NAME(InternalOpenMenu)
AUTOGENERATE_NAME(KillControlGroup)
AUTOGENERATE_NAME(LogGUI)
AUTOGENERATE_NAME(LogGUIComponent)
AUTOGENERATE_NAME(LogGUIPage)
AUTOGENERATE_NAME(MousePressed)
AUTOGENERATE_NAME(MouseReleased)
AUTOGENERATE_NAME(MoveControlGroup)
AUTOGENERATE_NAME(MoveFocused)
AUTOGENERATE_NAME(NotifyLevelChange)
AUTOGENERATE_NAME(OnActivate)
AUTOGENERATE_NAME(OnAdjustTop)
AUTOGENERATE_NAME(OnCapturedMouseMove)
AUTOGENERATE_NAME(OnChange)
AUTOGENERATE_NAME(OnChangeLayout)
AUTOGENERATE_NAME(OnClick)
AUTOGENERATE_NAME(OnClientDraw)
AUTOGENERATE_NAME(OnDblClick)
AUTOGENERATE_NAME(OnDeActivate)
AUTOGENERATE_NAME(OnDlgReturned)
AUTOGENERATE_NAME(OnDraw)
AUTOGENERATE_NAME(OnDrawCaption)
AUTOGENERATE_NAME(OnDrawItem)
AUTOGENERATE_NAME(OnDrawText)
AUTOGENERATE_NAME(OnEndOfLine)
AUTOGENERATE_NAME(OnEntryCancelled)
AUTOGENERATE_NAME(OnEntryCompleted)
AUTOGENERATE_NAME(OnFocused)
AUTOGENERATE_NAME(OnHide)
AUTOGENERATE_NAME(OnHitTest)
AUTOGENERATE_NAME(OnKeyEvent)
AUTOGENERATE_NAME(OnKeyType)
AUTOGENERATE_NAME(OnListIndexChanged)
AUTOGENERATE_NAME(OnLostFocus)
AUTOGENERATE_NAME(OnMenuStateChanged)
AUTOGENERATE_NAME(OnModify)
AUTOGENERATE_NAME(OnMousePressed)
AUTOGENERATE_NAME(OnMouseRelease)
AUTOGENERATE_NAME(OnNeedRawKeyPress)
AUTOGENERATE_NAME(OnPopupReturned)
AUTOGENERATE_NAME(OnPreDraw)
AUTOGENERATE_NAME(OnRawXController)
AUTOGENERATE_NAME(OnRePositionCompleted)
AUTOGENERATE_NAME(OnRender)
AUTOGENERATE_NAME(OnResolutionChanged)
AUTOGENERATE_NAME(OnRightClick)
AUTOGENERATE_NAME(OnScrollZoneClick)
AUTOGENERATE_NAME(OnShow)
AUTOGENERATE_NAME(OnTimeExpired)
AUTOGENERATE_NAME(OnUpdateComponent)
AUTOGENERATE_NAME(OnWatched)
AUTOGENERATE_NAME(OnXControllerEvent)
AUTOGENERATE_NAME(Press)
AUTOGENERATE_NAME(RePositionCompleted)
AUTOGENERATE_NAME(RedoActiveComponent)
AUTOGENERATE_NAME(RegisterFont)
AUTOGENERATE_NAME(RegisterStyle)
AUTOGENERATE_NAME(ReloadGUI)
AUTOGENERATE_NAME(RemapComponents)
AUTOGENERATE_NAME(RemoveComponent)
AUTOGENERATE_NAME(RemoveControl)
AUTOGENERATE_NAME(ReorderByIndices)
AUTOGENERATE_NAME(ReorderComponents)
AUTOGENERATE_NAME(SaveActiveComponent)
AUTOGENERATE_NAME(SelectNextControlInMoveGroup)
AUTOGENERATE_NAME(SelectedText)
AUTOGENERATE_NAME(SetActive)
AUTOGENERATE_NAME(SetDirty)
AUTOGENERATE_NAME(SetFocusedPos)
AUTOGENERATE_NAME(SetText)
AUTOGENERATE_NAME(SetVisibility)
AUTOGENERATE_NAME(Show)
AUTOGENERATE_NAME(SizeControlsInGroup)
AUTOGENERATE_NAME(Swap)
AUTOGENERATE_NAME(SwapIndices)
AUTOGENERATE_NAME(TabControl)
AUTOGENERATE_NAME(Timer)
AUTOGENERATE_NAME(ToggleActiveComponentSizing)
AUTOGENERATE_NAME(ToggleSnapToGrid)
AUTOGENERATE_NAME(UndoActiveComponent)
AUTOGENERATE_NAME(UpdateControl)
AUTOGENERATE_NAME(Watched)
AUTOGENERATE_NAME(onMessage)

#ifndef NAMES_ONLY

// Enum eListElemDisplay is declared in "..\GUI\Classes\GUI.uc"
enum eListElemDisplay
{
	 LIST_ELEM_Item          =0,
	 LIST_ELEM_ExtraData     =1,
	 LIST_ELEM_ExtraStrData  =2,
	 LIST_ELEM_ExtraIntData  =3,
	 LIST_ELEM_ExtraBoolData =4,
	 LIST_MAX                =5,
};
// Enum eXControllerCodes is declared in "..\GUI\Classes\GUI.uc"
enum eXControllerCodes
{
	 XC_Up                   =0,
	 XC_Down                 =1,
	 XC_Left                 =2,
	 XC_Right                =3,
	 XC_A                    =4,
	 XC_B                    =5,
	 XC_X                    =6,
	 XC_Y                    =7,
	 XC_Black                =8,
	 XC_White                =9,
	 XC_LeftTrigger          =10,
	 XC_RightTrigger         =11,
	 XC_PadUp                =12,
	 XC_PadDown              =13,
	 XC_PadLeft              =14,
	 XC_PadRight             =15,
	 XC_Start                =16,
	 XC_Back                 =17,
	 XC_LeftThumb            =18,
	 XC_RightThumb           =19,
	 XC_MAX                  =20,
};
// Enum eIconPosition is declared in "..\GUI\Classes\GUI.uc"
enum eIconPosition
{
	 ICP_Normal              =0,
	 ICP_Center              =1,
	 ICP_Scaled              =2,
	 ICP_Stretched           =3,
	 ICP_Bound               =4,
	 ICP_MAX                 =5,
};
// Enum EMenuRenderStyle is declared in "..\GUI\Classes\GUI.uc"
enum EMenuRenderStyle
{
	 MSTY_None               =0,
	 MSTY_Normal             =1,
	 MSTY_Masked             =2,
	 MSTY_Translucent        =3,
	 MSTY_Modulated          =4,
	 MSTY_Alpha              =5,
	 MSTY_Additive           =6,
	 MSTY_Subtractive        =7,
	 MSTY_Particle           =8,
	 MSTY_AlphaZ             =9,
	 MSTY_MAX                =10,
};
// Enum eEditMask is declared in "..\GUI\Classes\GUI.uc"
enum eEditMask
{
	 EDM_None                =0,
	 EDM_Alpha               =1,
	 EDM_Numeric             =2,
	 EDM_MAX                 =3,
};
// Enum eImgAlign is declared in "..\GUI\Classes\GUI.uc"
enum eImgAlign
{
	 IMGA_TopLeft            =0,
	 IMGA_Center             =1,
	 IMGA_BottomRight        =2,
	 IMGA_MAX                =3,
};
// Enum eImgStyle is declared in "..\GUI\Classes\GUI.uc"
enum eImgStyle
{
	 ISTY_Normal             =0,
	 ISTY_Stretched          =1,
	 ISTY_Scaled             =2,
	 ISTY_Bound              =3,
	 ISTY_Justified          =4,
	 ISTY_MAX                =5,
};
// Enum eTextCase is declared in "..\GUI\Classes\GUI.uc"
enum eTextCase
{
	 TXTC_None               =0,
	 TXTC_Upper              =1,
	 TXTC_Lower              =2,
	 TXTC_MAX                =3,
};
// Enum eTextAlign is declared in "..\GUI\Classes\GUI.uc"
enum eTextAlign
{
	 TXTA_Left               =0,
	 TXTA_Center             =1,
	 TXTA_Right              =2,
	 TXTA_MAX                =3,
};
// Enum eMenuState is declared in "..\GUI\Classes\GUI.uc"
enum eMenuState
{
	 MSAT_Blurry             =0,
	 MSAT_Watched            =1,
	 MSAT_Focused            =2,
	 MSAT_Pressed            =3,
	 MSAT_Disabled           =4,
	 MSAT_MAX                =5,
};
// Enum eProgressDirection is declared in "..\GUI\Classes\GUI.uc"
enum eProgressDirection
{
	 DIRECTION_LeftToRight   =0,
	 DIRECTION_RightToLeft   =1,
	 DIRECTION_TopToBottom   =2,
	 DIRECTION_BottomToTop   =3,
	 DIRECTION_MAX           =4,
};

// Enum EClickSound is declared in "..\GUI\Classes\GUIComponent.uc"
enum EClickSound
{
	 CS_None                 =0,
	 CS_Click                =1,
	 CS_Edit                 =2,
	 CS_Up                   =3,
	 CS_Down                 =4,
	 CS_MAX                  =5,
};

// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnChangeLayout_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnChangeLayout_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventChangeStyle_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventChangeStyle_Parms
{
	  FString NewStyle;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventFree_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventFree_Parms
{
	  BITFIELD bForce;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventRePositionCompleted_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventRePositionCompleted_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventActivate_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventActivate_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventDeActivate_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventDeActivate_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventSetActive_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventSetActive_Parms
{
	  BITFIELD bActive;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventShow_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventShow_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventHide_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventHide_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventSetVisibility_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventSetVisibility_Parms
{
	  BITFIELD newVisible;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventEnableComponent_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventEnableComponent_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventDisableComponent_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventDisableComponent_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventPress_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventPress_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventFocus_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventFocus_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventWatched_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventWatched_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventDblClick_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventDblClick_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventClick_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventClick_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventMouseReleased_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventMouseReleased_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventMousePressed_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventMousePressed_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventSetDirty_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventSetDirty_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventTimer_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventTimer_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnXControllerEvent_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnXControllerEvent_Parms
{
	  BYTE Id;
	  BYTE iCode;
	  BITFIELD ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnRawXController_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnRawXController_Parms
{
	  BYTE Id;
	  BYTE Key;
	  BYTE State;
	  FLOAT Axis;
	  BITFIELD ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnKeyEvent_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnKeyEvent_Parms
{
	  BYTE Key;
	  BYTE State;
	  FLOAT Delta;
	  BITFIELD ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnKeyType_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnKeyType_Parms
{
	  BYTE Key;
	  FString Unicode;
	  BITFIELD ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnCapturedMouseMove_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnCapturedMouseMove_Parms
{
	  FLOAT deltaX;
	  FLOAT deltaY;
	  BITFIELD ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnLostFocus_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnLostFocus_Parms
{
	  class UGUIComponent* Self;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnFocused_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnFocused_Parms
{
	  class UGUIComponent* Self;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnWatched_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnWatched_Parms
{
	  class UGUIComponent* Self;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnMouseRelease_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnMouseRelease_Parms
{
	  class UGUIComponent* Sender;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnMousePressed_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnMousePressed_Parms
{
	  class UGUIComponent* Sender;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnRightClick_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnRightClick_Parms
{
	  class UGUIComponent* Sender;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnDblClick_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnDblClick_Parms
{
	  class UGUIComponent* Sender;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnClick_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnClick_Parms
{
	  class UGUIComponent* Sender;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventonMessage_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventonMessage_Parms
{
	  FString msg;
	  FLOAT MsgLife;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnRender_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnRender_Parms
{
	  class UCanvas* Canvas;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnHitTest_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnHitTest_Parms
{
	  FLOAT MouseX;
	  FLOAT MouseY;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnRePositionCompleted_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnRePositionCompleted_Parms
{
	  class UGUIComponent* Sender;
	  FName NewPosLabel;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnChange_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnChange_Parms
{
	  class UGUIComponent* Sender;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnDeActivate_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnDeActivate_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnActivate_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnActivate_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnShow_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnShow_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnHide_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnHide_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnMenuStateChanged_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnMenuStateChanged_Parms
{
	  class UGUIComponent* Sender;
	  BYTE NewState;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnClientDraw_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnClientDraw_Parms
{
	  class UCanvas* Canvas;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnDraw_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnDraw_Parms
{
	  class UCanvas* Canvas;
	  BITFIELD ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnPreDraw_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnPreDraw_Parms
{
	  class UCanvas* Canvas;
	  BITFIELD ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIComponent_eventOnUpdateComponent_Parms"	is declared	in "..\GUI\Classes\GUIComponent.uc"
struct UGUIComponent_eventOnUpdateComponent_Parms
{
	  class UCanvas* Canvas;
	  BITFIELD ReturnValue;
};

// "event"	function whose parameters correspond to	"struct UGUIActorContainerBase_eventOnModify_Parms"	is declared	in "..\GUI\Classes\GUIActorContainerBase.uc"
struct UGUIActorContainerBase_eventOnModify_Parms
{
};

// "event"	function whose parameters correspond to	"struct UGUIHorzScrollZone_eventOnScrollZoneClick_Parms"	is declared	in "..\GUI\Classes\GUIHorzScrollZone.uc"
struct UGUIHorzScrollZone_eventOnScrollZoneClick_Parms
{
	  FLOAT Delta;
};


// "event"	function whose parameters correspond to	"struct UGUIListBase_eventOnAdjustTop_Parms"	is declared	in "..\GUI\Classes\GUIListBase.uc"
struct UGUIListBase_eventOnAdjustTop_Parms
{
	  class UGUIComponent* Sender;
};
// "event"	function whose parameters correspond to	"struct UGUIListBase_eventOnDrawItem_Parms"	is declared	in "..\GUI\Classes\GUIListBase.uc"
struct UGUIListBase_eventOnDrawItem_Parms
{
	  class UCanvas* Canvas;
	  INT Item;
	  FLOAT X;
	  FLOAT Y;
	  FLOAT W;
	  FLOAT H;
	  BITFIELD bSelected;
};



// Enum eSortType is declared in "..\GUI\Classes\GUIList.uc"
enum eSortType
{
	 SORT_AlphaItem          =0,
	 SORT_AlphaExtra         =1,
	 SORT_Numeric            =2,
	 SORT_Bool               =3,
	 SORT_IP                 =4,
	 SORT_MAX                =5,
};

// "event"	function whose parameters correspond to	"struct UGUIList_eventSwap_Parms"	is declared	in "..\GUI\Classes\GUIList.uc"
struct UGUIList_eventSwap_Parms
{
	  INT indexA;
	  INT indexB;
	  BITFIELD bIsSorting;
};
// "event"	function whose parameters correspond to	"struct UGUIList_eventSelectedText_Parms"	is declared	in "..\GUI\Classes\GUIList.uc"
struct UGUIList_eventSelectedText_Parms
{
	  INT offsetIndex;
	  FString ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIList_eventReorderByIndices_Parms"	is declared	in "..\GUI\Classes\GUIList.uc"
struct UGUIList_eventReorderByIndices_Parms
{
	  INT indices;
};
// "event"	function whose parameters correspond to	"struct UGUIList_eventSwapIndices_Parms"	is declared	in "..\GUI\Classes\GUIList.uc"
struct UGUIList_eventSwapIndices_Parms
{
	  INT indexA;
	  INT indexB;
};
// "event"	function whose parameters correspond to	"struct UGUIList_eventElementsEqual_Parms"	is declared	in "..\GUI\Classes\GUIList.uc"
struct UGUIList_eventElementsEqual_Parms
{
	  FGUIListElem ElemA;
	  FGUIListElem ElemB;
	  BITFIELD ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIList_eventCompareItem_Parms"	is declared	in "..\GUI\Classes\GUIList.uc"
struct UGUIList_eventCompareItem_Parms
{
	  FGUIListElem ElemA;
	  FGUIListElem ElemB;
	  BITFIELD ReturnValue;
};
// Enum eScrollState is declared in "..\GUI\Classes\GUIScrollText.uc"
enum eScrollState
{
	 STS_None                =0,
	 STS_Initial             =1,
	 STS_Char                =2,
	 STS_EOL                 =3,
	 STS_Repeat              =4,
	 STS_MAX                 =5,
};

// "event"	function whose parameters correspond to	"struct UGUIScrollText_eventOnEndOfLine_Parms"	is declared	in "..\GUI\Classes\GUIScrollText.uc"
struct UGUIScrollText_eventOnEndOfLine_Parms
{
};

// "event"	function whose parameters correspond to	"struct UGUIMultiComponent_eventBringToBack_Parms"	is declared	in "..\GUI\Classes\GUIMultiComponent.uc"
struct UGUIMultiComponent_eventBringToBack_Parms
{
	  class UGUIComponent* Ctrl;
};
// "event"	function whose parameters correspond to	"struct UGUIMultiComponent_eventBringToFront_Parms"	is declared	in "..\GUI\Classes\GUIMultiComponent.uc"
struct UGUIMultiComponent_eventBringToFront_Parms
{
	  class UGUIComponent* Ctrl;
};
// "event"	function whose parameters correspond to	"struct UGUIMultiComponent_eventBringBackward_Parms"	is declared	in "..\GUI\Classes\GUIMultiComponent.uc"
struct UGUIMultiComponent_eventBringBackward_Parms
{
	  class UGUIComponent* Ctrl;
};
// "event"	function whose parameters correspond to	"struct UGUIMultiComponent_eventBringForward_Parms"	is declared	in "..\GUI\Classes\GUIMultiComponent.uc"
struct UGUIMultiComponent_eventBringForward_Parms
{
	  class UGUIComponent* Ctrl;
};
// "event"	function whose parameters correspond to	"struct UGUIMultiComponent_eventReorderComponents_Parms"	is declared	in "..\GUI\Classes\GUIMultiComponent.uc"
struct UGUIMultiComponent_eventReorderComponents_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIMultiComponent_eventTabControl_Parms"	is declared	in "..\GUI\Classes\GUIMultiComponent.uc"
struct UGUIMultiComponent_eventTabControl_Parms
{
	  INT Offset;
};
// "event"	function whose parameters correspond to	"struct UGUIMultiComponent_eventRemapComponents_Parms"	is declared	in "..\GUI\Classes\GUIMultiComponent.uc"
struct UGUIMultiComponent_eventRemapComponents_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIMultiComponent_eventFindComponentIndex_Parms"	is declared	in "..\GUI\Classes\GUIMultiComponent.uc"
struct UGUIMultiComponent_eventFindComponentIndex_Parms
{
	  class UGUIComponent* Who;
	  INT ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIMultiComponent_eventRemoveComponent_Parms"	is declared	in "..\GUI\Classes\GUIMultiComponent.uc"
struct UGUIMultiComponent_eventRemoveComponent_Parms
{
	  class UGUIComponent* Comp;
	  BITFIELD bRemap;
	  BITFIELD ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIMultiComponent_eventAppendComponent_Parms"	is declared	in "..\GUI\Classes\GUIMultiComponent.uc"
struct UGUIMultiComponent_eventAppendComponent_Parms
{
	  class UGUIComponent* NewComp;
	  class UGUIComponent* ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIMultiComponent_eventInsertComponent_Parms"	is declared	in "..\GUI\Classes\GUIMultiComponent.uc"
struct UGUIMultiComponent_eventInsertComponent_Parms
{
	  class UGUIComponent* NewComp;
	  INT Index;
	  class UGUIComponent* ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIMultiComponent_eventAddComponent_Parms"	is declared	in "..\GUI\Classes\GUIMultiComponent.uc"
struct UGUIMultiComponent_eventAddComponent_Parms
{
	  FString ComponentClass;
	  FString ComponentName;
	  BITFIELD bInitNewComponent;
	  class UGUIComponent* ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIMultiComponent_eventFindComponent_Parms"	is declared	in "..\GUI\Classes\GUIMultiComponent.uc"
struct UGUIMultiComponent_eventFindComponent_Parms
{
	  FString theName;
	  BITFIELD bExact;
	  BITFIELD bAssert;
	  class UGUIComponent* ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIMultiComponent_eventRemoveControl_Parms"	is declared	in "..\GUI\Classes\GUIMultiComponent.uc"
struct UGUIMultiComponent_eventRemoveControl_Parms
{
	  class UGUIComponent* Ctrl;
	  BITFIELD ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIMultiComponent_eventCreateControl_Parms"	is declared	in "..\GUI\Classes\GUIMultiComponent.uc"
struct UGUIMultiComponent_eventCreateControl_Parms
{
	  FString theClass;
	  FString theName;
	  class UGUIComponent* ReturnValue;
};

// "event"	function whose parameters correspond to	"struct UGUIComboBox_eventOnListIndexChanged_Parms"	is declared	in "..\GUI\Classes\GUIComboBox.uc"
struct UGUIComboBox_eventOnListIndexChanged_Parms
{
	  class UGUIComponent* Sender;
};
// "event"	function whose parameters correspond to	"struct UGUIComboBox_eventInternalCloseList_Parms"	is declared	in "..\GUI\Classes\GUIComboBox.uc"
struct UGUIComboBox_eventInternalCloseList_Parms
{
};










// "event"	function whose parameters correspond to	"struct UGUITimeDisplay_eventOnTimeExpired_Parms"	is declared	in "..\GUI\Classes\GUITimeDisplay.uc"
struct UGUITimeDisplay_eventOnTimeExpired_Parms
{
};

// "event"	function whose parameters correspond to	"struct UGUIPage_eventNotifyLevelChange_Parms"	is declared	in "..\GUI\Classes\GUIPage.uc"
struct UGUIPage_eventNotifyLevelChange_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIPage_eventHandleParameters_Parms"	is declared	in "..\GUI\Classes\GUIPage.uc"
struct UGUIPage_eventHandleParameters_Parms
{
	  FString Param1;
	  FString Param2;
	  INT param3;
};
// "event"	function whose parameters correspond to	"struct UGUIPage_eventChangeHint_Parms"	is declared	in "..\GUI\Classes\GUIPage.uc"
struct UGUIPage_eventChangeHint_Parms
{
	  FString NewHint;
};
// "event"	function whose parameters correspond to	"struct UGUIPage_eventOnPopupReturned_Parms"	is declared	in "..\GUI\Classes\GUIPage.uc"
struct UGUIPage_eventOnPopupReturned_Parms
{
	  FGUIListElem returnObj;
	  FString Passback;
};
// "event"	function whose parameters correspond to	"struct UGUIPage_eventOnDlgReturned_Parms"	is declared	in "..\GUI\Classes\GUIPage.uc"
struct UGUIPage_eventOnDlgReturned_Parms
{
	  INT returnButton;
	  FString Passback;
};


// Enum EGUISplitterType is declared in "..\GUI\Classes\GUISplitter.uc"
enum EGUISplitterType
{
	 SPLIT_Vertical          =0,
	 SPLIT_Horizontal        =1,
	 SPLIT_MAX               =2,
};


// "event"	function whose parameters correspond to	"struct UGUIScrollBarBase_eventAlignThumb_Parms"	is declared	in "..\GUI\Classes\GUIScrollBarBase.uc"
struct UGUIScrollBarBase_eventAlignThumb_Parms
{
};




// "event"	function whose parameters correspond to	"struct UGUISlider_eventOnDrawCaption_Parms"	is declared	in "..\GUI\Classes\GUISlider.uc"
struct UGUISlider_eventOnDrawCaption_Parms
{
	  FString ReturnValue;
};



// "event"	function whose parameters correspond to	"struct UGUIEditBox_eventSetText_Parms"	is declared	in "..\GUI\Classes\GUIEditBox.uc"
struct UGUIEditBox_eventSetText_Parms
{
	  FString NewText;
};
// "event"	function whose parameters correspond to	"struct UGUIEditBox_eventOnEntryCancelled_Parms"	is declared	in "..\GUI\Classes\GUIEditBox.uc"
struct UGUIEditBox_eventOnEntryCancelled_Parms
{
	  class UGUIComponent* Sender;
};
// "event"	function whose parameters correspond to	"struct UGUIEditBox_eventOnEntryCompleted_Parms"	is declared	in "..\GUI\Classes\GUIEditBox.uc"
struct UGUIEditBox_eventOnEntryCompleted_Parms
{
	  class UGUIComponent* Sender;
};













// "event"	function whose parameters correspond to	"struct UGUIVertScrollZone_eventOnScrollZoneClick_Parms"	is declared	in "..\GUI\Classes\GUIVertScrollZone.uc"
struct UGUIVertScrollZone_eventOnScrollZoneClick_Parms
{
	  FLOAT Delta;
};

// "event"	function whose parameters correspond to	"struct UGUIFont_eventGetFont_Parms"	is declared	in "..\GUI\Classes\GUIFont.uc"
struct UGUIFont_eventGetFont_Parms
{
	  INT XRes;
	  class UFont* ReturnValue;
};

// "event"	function whose parameters correspond to	"struct UGUIStyles_eventInitialize_Parms"	is declared	in "..\GUI\Classes\GUIStyles.uc"
struct UGUIStyles_eventInitialize_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIStyles_eventOnDrawText_Parms"	is declared	in "..\GUI\Classes\GUIStyles.uc"
struct UGUIStyles_eventOnDrawText_Parms
{
	  class UCanvas* Canvas;
	  BYTE MenuState;
	  FLOAT Left;
	  FLOAT Top;
	  FLOAT Width;
	  FLOAT height;
	  BYTE Align;
	  FString Text;
	  BITFIELD bParseCodes;
	  BITFIELD bMultiLine;
	  BITFIELD ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIStyles_eventOnDraw_Parms"	is declared	in "..\GUI\Classes\GUIStyles.uc"
struct UGUIStyles_eventOnDraw_Parms
{
	  class UCanvas* Canvas;
	  BYTE MenuState;
	  FLOAT Left;
	  FLOAT Top;
	  FLOAT Width;
	  FLOAT height;
	  BITFIELD ReturnValue;
};
// Enum eComponentSize is declared in "..\GUI\Classes\GUIController.uc"
enum eComponentSize
{
	 cSIZE_Width             =0,
	 cSIZE_Height            =1,
	 cSIZE_MAX               =2,
};
// Enum eComponentAlign is declared in "..\GUI\Classes\GUIController.uc"
enum eComponentAlign
{
	 cALIGN_Left             =0,
	 cALIGN_Right            =1,
	 cALIGN_Top              =2,
	 cALIGN_Bottom           =3,
	 cALIGN_MAX              =4,
};

// "event"	function whose parameters correspond to	"struct UGUIController_eventLogGUIComponent_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventLogGUIComponent_Parms
{
	  class UGUIComponent* Ctrl;
	  INT Level;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventLogGUIPage_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventLogGUIPage_Parms
{
	  class UGUIPage* Page;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventLogGUI_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventLogGUI_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventNotifyLevelChange_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventNotifyLevelChange_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventRedoActiveComponent_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventRedoActiveComponent_Parms
{
	  class UGUIComponent* Ctrl;
	  BITFIELD bMoveGroup;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventUndoActiveComponent_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventUndoActiveComponent_Parms
{
	  class UGUIComponent* Ctrl;
	  BITFIELD bMoveGroup;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventSaveActiveComponent_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventSaveActiveComponent_Parms
{
	  class UGUIComponent* Ctrl;
	  BITFIELD bMoveGroup;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventToggleActiveComponentSizing_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventToggleActiveComponentSizing_Parms
{
	  class UGUIComponent* Ctrl;
	  BITFIELD bPropagate;
	  BITFIELD bMoveGroup;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventToggleSnapToGrid_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventToggleSnapToGrid_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventOnResolutionChanged_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventOnResolutionChanged_Parms
{
	  INT OldResolutionX;
	  INT OldResolutionY;
	  INT NewResolutionX;
	  INT NewResolutionY;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventGetGuiResolution_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventGetGuiResolution_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventUpdateControl_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventUpdateControl_Parms
{
	  class UGUIComponent* Ctrl;
	  BITFIELD bResized;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventSetFocusedPos_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventSetFocusedPos_Parms
{
	  class UGUIComponent* Ctrl;
	  FLOAT bmLeft;
	  FLOAT bmTop;
	  INT ClipX;
	  INT ClipY;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventMoveFocused_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventMoveFocused_Parms
{
	  class UGUIComponent* Ctrl;
	  INT bmLeft;
	  INT bmTop;
	  INT bmWidth;
	  INT bmHeight;
	  FLOAT ClipX;
	  FLOAT ClipY;
	  BITFIELD bMoveGroup;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventSelectNextControlInMoveGroup_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventSelectNextControlInMoveGroup_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventSizeControlsInGroup_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventSizeControlsInGroup_Parms
{
	  class UGUIComponent* Ctrl;
	  BYTE Size;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventAlignControlsInGroup_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventAlignControlsInGroup_Parms
{
	  class UGUIComponent* Ctrl;
	  BYTE Align;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventMoveControlGroup_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventMoveControlGroup_Parms
{
	  INT fromGroup;
	  INT toGroup;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventKillControlGroup_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventKillControlGroup_Parms
{
	  INT Group;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventGroupControl_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventGroupControl_Parms
{
	  class UGUIComponent* Ctrl;
	  INT Group;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventChangeFocus_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventChangeFocus_Parms
{
	  class UGUIComponent* NewFocus;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventInternalOpenMenu_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventInternalOpenMenu_Parms
{
	  class UGUIPage* NewMenu;
	  FString Param1;
	  FString Param2;
	  INT param3;
	  BITFIELD ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventFindPersistentComponent_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventFindPersistentComponent_Parms
{
	  FString theName;
	  BITFIELD bExact;
	  class UGUIComponent* ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventCreateMenu_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventCreateMenu_Parms
{
	  FString NewMenuName;
	  FString MenuNameOverride;
	  class UGUIPage* ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventReloadGUI_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventReloadGUI_Parms
{
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventCreateComponent_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventCreateComponent_Parms
{
	  FString ComponentClass;
	  FString ComponentName;
	  class UGUIComponent* ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventRegisterStyle_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventRegisterStyle_Parms
{
	  FString StyleClass;
	  BITFIELD ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventRegisterFont_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventRegisterFont_Parms
{
	  FString FontClass;
	  BITFIELD ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventOnNeedRawKeyPress_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventOnNeedRawKeyPress_Parms
{
	  BYTE NewKey;
	  BITFIELD ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventGetStyle_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventGetStyle_Parms
{
	  FString StyleName;
	  class UGUIStyles* ReturnValue;
};
// "event"	function whose parameters correspond to	"struct UGUIController_eventGetMenuFont_Parms"	is declared	in "..\GUI\Classes\GUIController.uc"
struct UGUIController_eventGetMenuFont_Parms
{
	  FString FontName;
	  class UGUIFont* ReturnValue;
};
// Class	UGUI is declared in "..\GUI\Classes\GUI.uc"
class GUI_API	UGUI	: public UObject
{
public:
    class UGUIController* Controller;
    INT QBTN_Ok;
    INT QBTN_Cancel;
    INT QBTN_Retry;
    INT QBTN_Continue;
    INT QBTN_Yes;
    INT QBTN_No;
    INT QBTN_Abort;
    INT QBTN_Ignore;
    INT QBTN_OkCancel;
    INT QBTN_AbortRetry;
    INT QBTN_YesNo;
    INT QBTN_YesNoCancel;
    INT QBTN_TimeOut;
	   DECLARE_FUNCTION(execMakeColorCode);
	   DECLARE_FUNCTION(execStripCodes);
	   DECLARE_FUNCTION(execCopyConfig);
	   DECLARE_CLASS(UGUI,UObject,0,GUI)
        virtual void CopyConfig(UGUI* toOther);           // copy the config of this to another component
        static FString StripCodes( FString instr );
        static FString MakeColorCode( FColor theColor );
        
        static int CharToHex( char c );
        static char HexToChar( int i );
};

// Class	UGUIComponent is declared in "..\GUI\Classes\GUIComponent.uc"
class GUI_API	UGUIComponent	: public UGUI
{
public:
    TArrayNoInit<FsDynamicPositionSpec> MovePositions;
    BITFIELD bRepositioning:1;
    FsTransitionSpec TransitionSpec;
    INT CyclePosition;
    BITFIELD bRepeatCycling:1;
    INT MoveGroup;
    class UGUIComponent* MenuOwner;
    BYTE MenuState;
    TArrayNoInit<class UGUIComponent*> UndoHistory;
    INT UndoLevel;
    BITFIELD bSaved:1;
    BITFIELD bInited:1;
    FStringNoInit StyleName;
    FLOAT WinTop;
    FLOAT WinLeft;
    FLOAT WinWidth;
    FLOAT WinHeight;
    BITFIELD bScaled:1;
    BITFIELD bBoundToParent:1;
    BITFIELD bScaleToParent:1;
    BITFIELD bCanBeShown:1;
    BITFIELD bAcceptsInput:1;
    BITFIELD bCaptureTabs:1;
    BITFIELD bCaptureMouse:1;
    BITFIELD bSwallowAllKeyEvents:1;
    BITFIELD bHitTestOnClientBounds:1;
    BITFIELD bAllowHTMLTextFormatting:1;
    BITFIELD bDrawStyle:1;
    BITFIELD bNeverFocus:1;
    BITFIELD bRepeatClick:1;
    BITFIELD bRequireReleaseClick:1;
    FStringNoInit Hint;
    INT MouseCursorIndex;
    BITFIELD bHideMouseCursor:1;
    BITFIELD bTabStop:1;
    INT TabOrder;
    BITFIELD bFocusOnWatch:1;
    BITFIELD bMaintainFocus:1;
    FLOAT RenderWeight;
    BITFIELD bMouseOverSound:1;
    class UGUIComponent* FocusInstead;
    BITFIELD bPersistent:1;
    BITFIELD bVisible:1;
    BYTE OnClickSound;
    class UGUIStyles* Style;
    FLOAT Bounds[4];
    FLOAT ClientBounds[4];
    BITFIELD bActiveInput:1;
    BITFIELD bDirty:1;
    INT TimerIndex;
    BITFIELD bTimerRepeat:1;
    FLOAT TimerCountdown;
    FLOAT TimerInterval;
    BITFIELD bPlayerMoveAllowed:1;
    BITFIELD bAllowPressedEffect:1;
    FLOAT SaveX;
    FLOAT SaveY;
    FColor SaveColor;
    class UFont* SaveFont;
    BYTE SaveStyle;
    class UGUIComponent* LinkOverrides[4];
    class UGUIComponent* Links[4];
    class UGUIRadioButton* RadioGroup;
    FScriptDelegate __OnUpdateComponent__Delegate;
    FScriptDelegate __OnPreDraw__Delegate;
    FScriptDelegate __OnDraw__Delegate;
    FScriptDelegate __OnClientDraw__Delegate;
    FScriptDelegate __OnMenuStateChanged__Delegate;
    FScriptDelegate __OnHide__Delegate;
    FScriptDelegate __OnShow__Delegate;
    FScriptDelegate __OnActivate__Delegate;
    FScriptDelegate __OnDeActivate__Delegate;
    FScriptDelegate __OnChange__Delegate;
    FScriptDelegate __OnRePositionCompleted__Delegate;
    FScriptDelegate __OnHitTest__Delegate;
    FScriptDelegate __OnRender__Delegate;
    FScriptDelegate __onMessage__Delegate;
    FScriptDelegate __OnClick__Delegate;
    FScriptDelegate __OnDblClick__Delegate;
    FScriptDelegate __OnRightClick__Delegate;
    FScriptDelegate __OnMousePressed__Delegate;
    FScriptDelegate __OnMouseRelease__Delegate;
    FScriptDelegate __OnWatched__Delegate;
    FScriptDelegate __OnFocused__Delegate;
    FScriptDelegate __OnLostFocus__Delegate;
    FScriptDelegate __OnCapturedMouseMove__Delegate;
    FScriptDelegate __OnKeyType__Delegate;
    FScriptDelegate __OnKeyEvent__Delegate;
    FScriptDelegate __OnRawXController__Delegate;
    FScriptDelegate __OnXControllerEvent__Delegate;
	   DECLARE_FUNCTION(execActualTop);
	   DECLARE_FUNCTION(execActualLeft);
	   DECLARE_FUNCTION(execActualHeight);
	   DECLARE_FUNCTION(execActualWidth);
	   DECLARE_FUNCTION(execKillTimer);
	   DECLARE_FUNCTION(execSetTimer);
	  void	eventOnChangeLayout()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_OnChangeLayout),NULL);
	  }
	  void	eventChangeStyle(const FString& NewStyle)
	  {
        UGUIComponent_eventChangeStyle_Parms Parms;
		   Parms.NewStyle=NewStyle;
        ProcessEvent(FindFunctionChecked(GUI_ChangeStyle),&Parms);
	  }
	  void	eventFree(BITFIELD bForce)
	  {
        UGUIComponent_eventFree_Parms Parms;
		   Parms.bForce=bForce;
        ProcessEvent(FindFunctionChecked(GUI_Free),&Parms);
	  }
	  void	eventRePositionCompleted()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_RePositionCompleted),NULL);
	  }
	  void	eventActivate()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_Activate),NULL);
	  }
	  void	eventDeActivate()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_DeActivate),NULL);
	  }
	  void	eventSetActive(BITFIELD bActive)
	  {
        UGUIComponent_eventSetActive_Parms Parms;
		   Parms.bActive=bActive;
        ProcessEvent(FindFunctionChecked(GUI_SetActive),&Parms);
	  }
	  void	eventShow()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_Show),NULL);
	  }
	  void	eventHide()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_Hide),NULL);
	  }
	  void	eventSetVisibility(BITFIELD newVisible)
	  {
        UGUIComponent_eventSetVisibility_Parms Parms;
		   Parms.newVisible=newVisible;
        ProcessEvent(FindFunctionChecked(GUI_SetVisibility),&Parms);
	  }
	  void	eventEnableComponent()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_EnableComponent),NULL);
	  }
	  void	eventDisableComponent()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_DisableComponent),NULL);
	  }
	  void	eventPress()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_Press),NULL);
	  }
	  void	eventFocus()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_Focus),NULL);
	  }
	  void	eventWatched()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_Watched),NULL);
	  }
	  void	eventDblClick()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_DblClick),NULL);
	  }
	  void	eventClick()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_Click),NULL);
	  }
	  void	eventMouseReleased()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_MouseReleased),NULL);
	  }
	  void	eventMousePressed()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_MousePressed),NULL);
	  }
	  void	eventSetDirty()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_SetDirty),NULL);
	  }
	  void	eventTimer()
	  {
		  if(IsProbing(NAME_Timer)) {
		   ProcessEvent(FindFunctionChecked(GUI_Timer),NULL);
		  }
	  }
	  BITFIELD	delegateOnXControllerEvent(BYTE Id, BYTE iCode)
	  {
        UGUIComponent_eventOnXControllerEvent_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.Id=Id;
		   Parms.iCode=iCode;
		   ProcessDelegate(GUI_OnXControllerEvent,&__OnXControllerEvent__Delegate,&Parms);
		   return Parms.ReturnValue;
	  }
	  BITFIELD	delegateOnRawXController(BYTE Id, BYTE& Key, BYTE& State, FLOAT& Axis)
	  {
        UGUIComponent_eventOnRawXController_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.Id=Id;
		   Parms.Key=Key;
		   Parms.State=State;
		   Parms.Axis=Axis;
		   ProcessDelegate(GUI_OnRawXController,&__OnRawXController__Delegate,&Parms);
		   Key=Parms.Key;
		   State=Parms.State;
		   Axis=Parms.Axis;
		   return Parms.ReturnValue;
	  }
	  BITFIELD	delegateOnKeyEvent(BYTE& Key, BYTE& State, FLOAT Delta)
	  {
        UGUIComponent_eventOnKeyEvent_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.Key=Key;
		   Parms.State=State;
		   Parms.Delta=Delta;
		   ProcessDelegate(GUI_OnKeyEvent,&__OnKeyEvent__Delegate,&Parms);
		   Key=Parms.Key;
		   State=Parms.State;
		   return Parms.ReturnValue;
	  }
	  BITFIELD	delegateOnKeyType(BYTE& Key, const FString& Unicode)
	  {
        UGUIComponent_eventOnKeyType_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.Key=Key;
		   Parms.Unicode=Unicode;
		   ProcessDelegate(GUI_OnKeyType,&__OnKeyType__Delegate,&Parms);
		   Key=Parms.Key;
		   return Parms.ReturnValue;
	  }
	  BITFIELD	delegateOnCapturedMouseMove(FLOAT deltaX, FLOAT deltaY)
	  {
        UGUIComponent_eventOnCapturedMouseMove_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.deltaX=deltaX;
		   Parms.deltaY=deltaY;
		   ProcessDelegate(GUI_OnCapturedMouseMove,&__OnCapturedMouseMove__Delegate,&Parms);
		   return Parms.ReturnValue;
	  }
	  void	delegateOnLostFocus(class UGUIComponent* Self)
	  {
        UGUIComponent_eventOnLostFocus_Parms Parms;
		   Parms.Self=Self;
		   ProcessDelegate(GUI_OnLostFocus,&__OnLostFocus__Delegate,&Parms);
	  }
	  void	delegateOnFocused(class UGUIComponent* Self)
	  {
        UGUIComponent_eventOnFocused_Parms Parms;
		   Parms.Self=Self;
		   ProcessDelegate(GUI_OnFocused,&__OnFocused__Delegate,&Parms);
	  }
	  void	delegateOnWatched(class UGUIComponent* Self)
	  {
        UGUIComponent_eventOnWatched_Parms Parms;
		   Parms.Self=Self;
		   ProcessDelegate(GUI_OnWatched,&__OnWatched__Delegate,&Parms);
	  }
	  void	delegateOnMouseRelease(class UGUIComponent* Sender)
	  {
        UGUIComponent_eventOnMouseRelease_Parms Parms;
		   Parms.Sender=Sender;
		   ProcessDelegate(GUI_OnMouseRelease,&__OnMouseRelease__Delegate,&Parms);
	  }
	  void	delegateOnMousePressed(class UGUIComponent* Sender)
	  {
        UGUIComponent_eventOnMousePressed_Parms Parms;
		   Parms.Sender=Sender;
		   ProcessDelegate(GUI_OnMousePressed,&__OnMousePressed__Delegate,&Parms);
	  }
	  void	delegateOnRightClick(class UGUIComponent* Sender)
	  {
        UGUIComponent_eventOnRightClick_Parms Parms;
		   Parms.Sender=Sender;
		   ProcessDelegate(GUI_OnRightClick,&__OnRightClick__Delegate,&Parms);
	  }
	  void	delegateOnDblClick(class UGUIComponent* Sender)
	  {
        UGUIComponent_eventOnDblClick_Parms Parms;
		   Parms.Sender=Sender;
		   ProcessDelegate(GUI_OnDblClick,&__OnDblClick__Delegate,&Parms);
	  }
	  void	delegateOnClick(class UGUIComponent* Sender)
	  {
        UGUIComponent_eventOnClick_Parms Parms;
		   Parms.Sender=Sender;
		   ProcessDelegate(GUI_OnClick,&__OnClick__Delegate,&Parms);
	  }
	  void	delegateonMessage(const FString& msg, FLOAT MsgLife)
	  {
        UGUIComponent_eventonMessage_Parms Parms;
		   Parms.msg=msg;
		   Parms.MsgLife=MsgLife;
		   ProcessDelegate(GUI_onMessage,&__onMessage__Delegate,&Parms);
	  }
	  void	delegateOnRender(class UCanvas* Canvas)
	  {
        UGUIComponent_eventOnRender_Parms Parms;
		   Parms.Canvas=Canvas;
		   ProcessDelegate(GUI_OnRender,&__OnRender__Delegate,&Parms);
	  }
	  void	delegateOnHitTest(FLOAT MouseX, FLOAT MouseY)
	  {
        UGUIComponent_eventOnHitTest_Parms Parms;
		   Parms.MouseX=MouseX;
		   Parms.MouseY=MouseY;
		   ProcessDelegate(GUI_OnHitTest,&__OnHitTest__Delegate,&Parms);
	  }
	  void	delegateOnRePositionCompleted(class UGUIComponent* Sender, FName NewPosLabel)
	  {
        UGUIComponent_eventOnRePositionCompleted_Parms Parms;
		   Parms.Sender=Sender;
		   Parms.NewPosLabel=NewPosLabel;
		   ProcessDelegate(GUI_OnRePositionCompleted,&__OnRePositionCompleted__Delegate,&Parms);
	  }
	  void	delegateOnChange(class UGUIComponent* Sender)
	  {
        UGUIComponent_eventOnChange_Parms Parms;
		   Parms.Sender=Sender;
		   ProcessDelegate(GUI_OnChange,&__OnChange__Delegate,&Parms);
	  }
	  void	delegateOnDeActivate()
	  {
		   ProcessDelegate(GUI_OnDeActivate,&__OnDeActivate__Delegate,NULL);
	  }
	  void	delegateOnActivate()
	  {
		   ProcessDelegate(GUI_OnActivate,&__OnActivate__Delegate,NULL);
	  }
	  void	delegateOnShow()
	  {
		   ProcessDelegate(GUI_OnShow,&__OnShow__Delegate,NULL);
	  }
	  void	delegateOnHide()
	  {
		   ProcessDelegate(GUI_OnHide,&__OnHide__Delegate,NULL);
	  }
	  void	delegateOnMenuStateChanged(class UGUIComponent* Sender, BYTE NewState)
	  {
        UGUIComponent_eventOnMenuStateChanged_Parms Parms;
		   Parms.Sender=Sender;
		   Parms.NewState=NewState;
		   ProcessDelegate(GUI_OnMenuStateChanged,&__OnMenuStateChanged__Delegate,&Parms);
	  }
	  void	delegateOnClientDraw(class UCanvas* Canvas)
	  {
        UGUIComponent_eventOnClientDraw_Parms Parms;
		   Parms.Canvas=Canvas;
		   ProcessDelegate(GUI_OnClientDraw,&__OnClientDraw__Delegate,&Parms);
	  }
	  BITFIELD	delegateOnDraw(class UCanvas* Canvas)
	  {
        UGUIComponent_eventOnDraw_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.Canvas=Canvas;
		   ProcessDelegate(GUI_OnDraw,&__OnDraw__Delegate,&Parms);
		   return Parms.ReturnValue;
	  }
	  BITFIELD	delegateOnPreDraw(class UCanvas* Canvas)
	  {
        UGUIComponent_eventOnPreDraw_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.Canvas=Canvas;
		   ProcessDelegate(GUI_OnPreDraw,&__OnPreDraw__Delegate,&Parms);
		   return Parms.ReturnValue;
	  }
	  BITFIELD	delegateOnUpdateComponent(class UCanvas* Canvas)
	  {
        UGUIComponent_eventOnUpdateComponent_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.Canvas=Canvas;
		   ProcessDelegate(GUI_OnUpdateComponent,&__OnUpdateComponent__Delegate,&Parms);
		   return Parms.ReturnValue;
	  }
	   DECLARE_CLASS(UGUIComponent,UGUI,0|CLASS_Config,GUI)
        virtual void UpdateComponent(UCanvas* Canvas); //Performs an update, refreshing the component's dims, etc.; should be overridden in a subclass
		virtual void PreDraw(UCanvas *Canvas);	// Should be overridden in a subclass
		virtual void Draw(UCanvas* Canvas);		// Should be overridden in a subclass
		void ClientDraw(UCanvas* Canvas);		// Prepare the Canvas for a client to draw on the component, and then call delegateOnClientDraw

        virtual void Modify(); //callback from the object browser

		virtual UBOOL PerformHitTest(INT MouseX, INT MouseY);					// Check to see if a mouse press affects the control
		virtual void  UpdateBounds();											// Updates the Bounds for hit tests and such
		virtual FLOAT ActualWidth();											// Returns the actual width (including scaling) of a component
		virtual FLOAT ActualHeight();											// Returns the actual height (including scaling) of a component
		virtual FLOAT ActualLeft();												// Returns the actual left (including scaling) of a component
		virtual FLOAT ActualTop();												// Returns the actual top (including scaling) of a component
		virtual void  SaveCanvasState(UCanvas* Canvas);							// Save the current state of the canvas
		virtual void  RestoreCanvasState(UCanvas* Canvas);						// Restores the state of the canvas

		virtual UGUIComponent* UnderCursor(FLOAT MouseX, FLOAT MouseY);

		virtual UBOOL MouseMove(INT XDelta, INT YDelta);			// The Mouse has moved
		virtual UBOOL MousePressed(UBOOL IsRepeat);					// The Mouse was pressed
		virtual UBOOL MouseReleased();								// The Mouse was released
		virtual UBOOL MouseHover();									// The Mouse is over a non-pressed thing

		virtual UBOOL NativeKeyType(BYTE& iKey, TCHAR Unicode );				// Handle key presses
		virtual UBOOL NativeKeyEvent(BYTE& iKey, BYTE& State, FLOAT Delta);	// Handle key events

		virtual void SetDims(FLOAT Width, FLOAT Height, FLOAT Left, FLOAT Top);	// Set the dims quickly
		virtual void  CloneDims(UGUIComponent* From);	// Clones the Width,Height, Top, Left settings

		virtual UBOOL SpecialHit();
        virtual UBOOL XControllerEvent(int Id, eXControllerCodes iCode);
        virtual UBOOL RawXController(int Id, BYTE& iKey, BYTE& State, FLOAT Axis);
};

// Class	UGUIActorContainerBase is declared in "..\GUI\Classes\GUIActorContainerBase.uc"
class GUI_API	UGUIActorContainerBase	: public UGUIComponent
{
public:
    FName ActorName;
    class AActor* Actor;
    FVector Offset;
    FRotator Rotation;
    BYTE DrawType;
    class UMaterial* Texture;
	  void	eventOnModify()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_OnModify),NULL);
	  }
	   DECLARE_CLASS(UGUIActorContainerBase,UGUIComponent,0|CLASS_Config,GUI)
    virtual void Modify() { eventOnModify(); Super::Modify(); } //callback from the object browser
};

// Class	UGUIHorzScrollZone is declared in "..\GUI\Classes\GUIHorzScrollZone.uc"
class GUI_API	UGUIHorzScrollZone	: public UGUIComponent
{
public:
    FScriptDelegate __OnScrollZoneClick__Delegate;
	  void	delegateOnScrollZoneClick(FLOAT Delta)
	  {
        UGUIHorzScrollZone_eventOnScrollZoneClick_Parms Parms;
		   Parms.Delta=Delta;
		   ProcessDelegate(GUI_OnScrollZoneClick,&__OnScrollZoneClick__Delegate,&Parms);
	  }
	   DECLARE_CLASS(UGUIHorzScrollZone,UGUIComponent,0|CLASS_Config,GUI)
		void Draw(UCanvas* Canvas);
};

// Class	UGUIImage is declared in "..\GUI\Classes\GUIImage.uc"
class GUI_API	UGUIImage	: public UGUIComponent
{
public:
    class UMaterial* Image;
    FColor ImageColor;
    BYTE ImageStyle;
    BYTE ImageRenderStyle;
    BYTE ImageAlign;
    INT x1;
    INT y1;
    INT x2;
    INT y2;
	   DECLARE_CLASS(UGUIImage,UGUIComponent,0|CLASS_Config,GUI)
		void Draw(UCanvas* Canvas);
};

// Class	UGUIListBase is declared in "..\GUI\Classes\GUIListBase.uc"
class GUI_API	UGUIListBase	: public UGUIComponent
{
public:
    FColor SelectedBKColor;
    class UMaterial* SelectedImage;
    INT Top;
    INT Index;
    INT ItemsPerPage;
    INT ItemHeight;
    INT ItemWidth;
    INT ItemCount;
    BITFIELD bHotTrack:1;
    BITFIELD bVisibleWhenEmpty:1;
    BITFIELD bReadOnly:1;
    class UGUIScrollBarBase* MyScrollBar;
    FScriptDelegate __OnDrawItem__Delegate;
    FScriptDelegate __OnAdjustTop__Delegate;
	  void	delegateOnAdjustTop(class UGUIComponent* Sender)
	  {
        UGUIListBase_eventOnAdjustTop_Parms Parms;
		   Parms.Sender=Sender;
		   ProcessDelegate(GUI_OnAdjustTop,&__OnAdjustTop__Delegate,&Parms);
	  }
	  void	delegateOnDrawItem(class UCanvas* Canvas, INT Item, FLOAT X, FLOAT Y, FLOAT W, FLOAT H, BITFIELD bSelected)
	  {
        UGUIListBase_eventOnDrawItem_Parms Parms;
		   Parms.Canvas=Canvas;
		   Parms.Item=Item;
		   Parms.X=X;
		   Parms.Y=Y;
		   Parms.W=W;
		   Parms.H=H;
		   Parms.bSelected=bSelected;
		   ProcessDelegate(GUI_OnDrawItem,&__OnDrawItem__Delegate,&Parms);
	  }
	   DECLARE_CLASS(UGUIListBase,UGUIComponent,0|CLASS_Config,GUI)
	virtual void DrawItem(UCanvas* Canvas, INT Item, FLOAT X, FLOAT Y, FLOAT W, FLOAT H) {}
};

// Class	UGUICircularList is declared in "..\GUI\Classes\GUICircularList.uc"
class GUI_API	UGUICircularList	: public UGUIListBase
{
public:
    BITFIELD bCenterInBounds:1;
    BITFIELD bFillBounds:1;
    BITFIELD bIgnoreBackClick:1;
    BITFIELD bAllowSelectEmpty:1;
    INT FixedItemsPerPage;
	   DECLARE_CLASS(UGUICircularList,UGUIListBase,0|CLASS_Config,GUI)
	void Draw(UCanvas* Canva);	
};

// Class	UGUIHorzList is declared in "..\GUI\Classes\GUIHorzList.uc"
class GUI_API	UGUIHorzList	: public UGUIListBase
{
public:
	   DECLARE_CLASS(UGUIHorzList,UGUIListBase,0|CLASS_Config,GUI)
	void Draw(UCanvas* Canvas);	
};

// Class	UGUIVertList is declared in "..\GUI\Classes\GUIVertList.uc"
class GUI_API	UGUIVertList	: public UGUIListBase
{
public:
	   DECLARE_CLASS(UGUIVertList,UGUIListBase,0|CLASS_Config,GUI)
	void PreDraw(UCanvas* Canvas);	
	void Draw(UCanvas* Canvas);	
	void UpdateComponent(UCanvas* Canvas);
};

// Class	UGUIList is declared in "..\GUI\Classes\GUIList.uc"
class GUI_API	UGUIList	: public UGUIVertList
{
public:
    BYTE TypeOfSort;
    BYTE DisplayItem;
    BITFIELD bSortForward:1;
    BITFIELD bListIsDirty:1;
    BITFIELD bNeverSort:1;
    BITFIELD bNativeSort:1;
    BYTE TextAlign;
    TArrayNoInit<FGUIListElem> Elements;
    FScriptDelegate __CompareItem__Delegate;
    FScriptDelegate __ElementsEqual__Delegate;
    FScriptDelegate __SwapIndices__Delegate;
    FScriptDelegate __ReorderByIndices__Delegate;
	   DECLARE_FUNCTION(execReorderItems);
	   DECLARE_FUNCTION(execqSort);
	  void	eventSwap(INT indexA, INT indexB, BITFIELD bIsSorting)
	  {
        UGUIList_eventSwap_Parms Parms;
		   Parms.indexA=indexA;
		   Parms.indexB=indexB;
		   Parms.bIsSorting=bIsSorting;
        ProcessEvent(FindFunctionChecked(GUI_Swap),&Parms);
	  }
	  FString	eventSelectedText(INT offsetIndex)
	  {
        UGUIList_eventSelectedText_Parms Parms;
		   Parms.offsetIndex=offsetIndex;
        ProcessEvent(FindFunctionChecked(GUI_SelectedText),&Parms);
		   return Parms.ReturnValue;
	  }
	  void	delegateReorderByIndices(INT indices)
	  {
        UGUIList_eventReorderByIndices_Parms Parms;
		   Parms.indices=indices;
		   ProcessDelegate(GUI_ReorderByIndices,&__ReorderByIndices__Delegate,&Parms);
	  }
	  void	delegateSwapIndices(INT indexA, INT indexB)
	  {
        UGUIList_eventSwapIndices_Parms Parms;
		   Parms.indexA=indexA;
		   Parms.indexB=indexB;
		   ProcessDelegate(GUI_SwapIndices,&__SwapIndices__Delegate,&Parms);
	  }
	  BITFIELD	delegateElementsEqual(FGUIListElem ElemA, FGUIListElem ElemB)
	  {
        UGUIList_eventElementsEqual_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.ElemA=ElemA;
		   Parms.ElemB=ElemB;
		   ProcessDelegate(GUI_ElementsEqual,&__ElementsEqual__Delegate,&Parms);
		   return Parms.ReturnValue;
	  }
	  BITFIELD	delegateCompareItem(FGUIListElem ElemA, FGUIListElem ElemB)
	  {
        UGUIList_eventCompareItem_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.ElemA=ElemA;
		   Parms.ElemB=ElemB;
		   ProcessDelegate(GUI_CompareItem,&__CompareItem__Delegate,&Parms);
		   return Parms.ReturnValue;
	  }
	   DECLARE_CLASS(UGUIList,UGUIVertList,0|CLASS_Config,GUI)
	void DrawItem(UCanvas* Canvas, INT Item, FLOAT X, FLOAT Y, FLOAT W, FLOAT H);
};

// Class	UGUIScrollText is declared in "..\GUI\Classes\GUIScrollText.uc"
class GUI_API	UGUIScrollText	: public UGUIList
{
public:
    FStringNoInit Content;
    FStringNoInit Separator;
    INT VisibleLines;
    INT VisibleChars;
    INT oldWidth;
    BYTE ScrollState;
    BITFIELD bNewContent:1;
    BITFIELD bStopped:1;
    FStringNoInit NewText;
    FStringNoInit ClickedString;
    INT MaxHistory;
    BITFIELD bRepeat:1;
    BITFIELD bNoTeletype:1;
    BITFIELD bClickText:1;
    FLOAT InitialDelay;
    FLOAT CharDelay;
    FLOAT EOLDelay;
    FLOAT RepeatDelay;
    FScriptDelegate __OnEndOfLine__Delegate;
	   DECLARE_FUNCTION(execGetWordUnderCursor);
	  void	delegateOnEndOfLine()
	  {
		   ProcessDelegate(GUI_OnEndOfLine,&__OnEndOfLine__Delegate,NULL);
	  }
	   DECLARE_CLASS(UGUIScrollText,UGUIList,0|CLASS_Config,GUI)
	void PreDraw(UCanvas *Canvas);
	void UpdateComponent(UCanvas* Canvas);
	void Draw(UCanvas* Canvas);	
	void DrawItem(UCanvas* Canvas, INT Item, FLOAT X, FLOAT Y, FLOAT W, FLOAT H);
};

// Class	UGUIMultiComponent is declared in "..\GUI\Classes\GUIMultiComponent.uc"
class GUI_API	UGUIMultiComponent	: public UGUIComponent
{
public:
    TArrayNoInit<class UGUIComponent*> Controls;
    TArrayNoInit<class UGUIComponent*> Components;
    BITFIELD PropagateVisibility:1;
    BITFIELD PropagateActivity:1;
    TArrayNoInit<FControlSpec> ControlSpecs;
    BITFIELD PropagateState:1;
	   DECLARE_FUNCTION(execInitializeControls);
	  void	eventBringToBack(class UGUIComponent* Ctrl)
	  {
        UGUIMultiComponent_eventBringToBack_Parms Parms;
		   Parms.Ctrl=Ctrl;
        ProcessEvent(FindFunctionChecked(GUI_BringToBack),&Parms);
	  }
	  void	eventBringToFront(class UGUIComponent* Ctrl)
	  {
        UGUIMultiComponent_eventBringToFront_Parms Parms;
		   Parms.Ctrl=Ctrl;
        ProcessEvent(FindFunctionChecked(GUI_BringToFront),&Parms);
	  }
	  void	eventBringBackward(class UGUIComponent* Ctrl)
	  {
        UGUIMultiComponent_eventBringBackward_Parms Parms;
		   Parms.Ctrl=Ctrl;
        ProcessEvent(FindFunctionChecked(GUI_BringBackward),&Parms);
	  }
	  void	eventBringForward(class UGUIComponent* Ctrl)
	  {
        UGUIMultiComponent_eventBringForward_Parms Parms;
		   Parms.Ctrl=Ctrl;
        ProcessEvent(FindFunctionChecked(GUI_BringForward),&Parms);
	  }
	  void	eventReorderComponents()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_ReorderComponents),NULL);
	  }
	  void	eventTabControl(INT Offset)
	  {
        UGUIMultiComponent_eventTabControl_Parms Parms;
		   Parms.Offset=Offset;
        ProcessEvent(FindFunctionChecked(GUI_TabControl),&Parms);
	  }
	  void	eventRemapComponents()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_RemapComponents),NULL);
	  }
	  INT	eventFindComponentIndex(class UGUIComponent* Who)
	  {
        UGUIMultiComponent_eventFindComponentIndex_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.Who=Who;
        ProcessEvent(FindFunctionChecked(GUI_FindComponentIndex),&Parms);
		   return Parms.ReturnValue;
	  }
	  BITFIELD	eventRemoveComponent(class UGUIComponent* Comp, BITFIELD bRemap)
	  {
        UGUIMultiComponent_eventRemoveComponent_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.Comp=Comp;
		   Parms.bRemap=bRemap;
        ProcessEvent(FindFunctionChecked(GUI_RemoveComponent),&Parms);
		   return Parms.ReturnValue;
	  }
	  class UGUIComponent*	eventAppendComponent(class UGUIComponent* NewComp)
	  {
        UGUIMultiComponent_eventAppendComponent_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.NewComp=NewComp;
        ProcessEvent(FindFunctionChecked(GUI_AppendComponent),&Parms);
		   return Parms.ReturnValue;
	  }
	  class UGUIComponent*	eventInsertComponent(class UGUIComponent* NewComp, INT Index)
	  {
        UGUIMultiComponent_eventInsertComponent_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.NewComp=NewComp;
		   Parms.Index=Index;
        ProcessEvent(FindFunctionChecked(GUI_InsertComponent),&Parms);
		   return Parms.ReturnValue;
	  }
	  class UGUIComponent*	eventAddComponent(const FString& ComponentClass, const FString& ComponentName, BITFIELD bInitNewComponent)
	  {
        UGUIMultiComponent_eventAddComponent_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.ComponentClass=ComponentClass;
		   Parms.ComponentName=ComponentName;
		   Parms.bInitNewComponent=bInitNewComponent;
        ProcessEvent(FindFunctionChecked(GUI_AddComponent),&Parms);
		   return Parms.ReturnValue;
	  }
	  class UGUIComponent*	eventFindComponent(const FString& theName, BITFIELD bExact, BITFIELD bAssert)
	  {
        UGUIMultiComponent_eventFindComponent_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.theName=theName;
		   Parms.bExact=bExact;
		   Parms.bAssert=bAssert;
        ProcessEvent(FindFunctionChecked(GUI_FindComponent),&Parms);
		   return Parms.ReturnValue;
	  }
	  BITFIELD	eventRemoveControl(class UGUIComponent* Ctrl)
	  {
        UGUIMultiComponent_eventRemoveControl_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.Ctrl=Ctrl;
        ProcessEvent(FindFunctionChecked(GUI_RemoveControl),&Parms);
		   return Parms.ReturnValue;
	  }
	  class UGUIComponent*	eventCreateControl(const FString& theClass, const FString& theName)
	  {
        UGUIMultiComponent_eventCreateControl_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.theClass=theClass;
		   Parms.theName=theName;
        ProcessEvent(FindFunctionChecked(GUI_CreateControl),&Parms);
		   return Parms.ReturnValue;
	  }
	   DECLARE_CLASS(UGUIMultiComponent,UGUIComponent,0|CLASS_Config,GUI)
		void PreDraw(UCanvas* Canvas);		// Do any size/postitioning
		void Draw(UCanvas* Canvas);			// Draw the component

		virtual void InitializeControls();	// Takes all GUIComponent members and assigns them to the controls array

		UGUIComponent* UnderCursor(FLOAT MouseX, FLOAT MouseY);

		UBOOL NativeKeyType(BYTE& iKey, TCHAR Unicode );					// A Key or Mouse button has pressed
		UBOOL NativeKeyEvent(BYTE& iKey, BYTE& State, FLOAT Delta );		// A Key/Mouse event occured

		UBOOL SpecialHit();

		UBOOL PerformHitTest(INT MouseX, INT MouseY);

		UBOOL MousePressed(UBOOL IsRepeat);					// The left mouse button was pressed
		UBOOL RightMousePressed();							// The right mouse button was pressed
		UBOOL MouseReleased();								// The mouse button was released

		UBOOL XControllerEvent(int Id, eXControllerCodes iCode);

};

// Class	UGUIComboBox is declared in "..\GUI\Classes\GUIComboBox.uc"
class GUI_API	UGUIComboBox	: public UGUIMultiComponent
{
public:
    class UGUIEditBox* Edit;
    class UGUIComboButton* MyShowListBtn;
    class UGUIListBox* MyListBox;
    class UGUIList* List;
    INT MaxVisibleItems;
    BITFIELD bShowListOnFocus:1;
    BITFIELD bReadOnly:1;
    INT Index;
    FStringNoInit TextStr;
    FScriptDelegate __OnListIndexChanged__Delegate;
	   DECLARE_FUNCTION(execCloseAllCombos);
	  void	delegateOnListIndexChanged(class UGUIComponent* Sender)
	  {
        UGUIComboBox_eventOnListIndexChanged_Parms Parms;
		   Parms.Sender=Sender;
		   ProcessDelegate(GUI_OnListIndexChanged,&__OnListIndexChanged__Delegate,&Parms);
	  }
	  void	eventInternalCloseList()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_InternalCloseList),NULL);
	  }
	   DECLARE_CLASS(UGUIComboBox,UGUIMultiComponent,0|CLASS_Config,GUI)
		void PreDraw(UCanvas* Canvas);
		void UpdateComponent(UCanvas* Canvas);
};

// Class	UGUIDualSelectionLists is declared in "..\GUI\Classes\GUIDualSelectionLists.uc"
class GUI_API	UGUIDualSelectionLists	: public UGUIMultiComponent
{
public:
    class UGUIListBox* ListBoxA;
    class UGUIListBox* ListBoxB;
    class UGUILabel* ListBoxAH;
    class UGUILabel* ListBoxBH;
    class UGUIGFXButton* AtoB;
    class UGUIGFXButton* BtoA;
    class UGUIListBox* LBA;
    class UGUIListBox* LBB;
    class UGUILabel* LBAH;
    class UGUILabel* LBBH;
    class UGUIGFXButton* ABButton;
    class UGUIGFXButton* BAButton;
    BITFIELD bSwitchListBoxLocations:1;
    BITFIELD bVerticalLayout:1;
    FLOAT ListBoxSpacing;
    FLOAT HeaderPercent;
    FStringNoInit BoxAHeader;
    FStringNoInit BoxBHeader;
    FStringNoInit LeftCaption;
    FStringNoInit RightCaption;
    FStringNoInit UpCaption;
    FStringNoInit DownCaption;
    class UMaterial* LeftImage;
    class UMaterial* RightImage;
    class UMaterial* UpImage;
    class UMaterial* DownImage;
	   DECLARE_CLASS(UGUIDualSelectionLists,UGUIMultiComponent,0|CLASS_Config,GUI)
		void PreDraw(UCanvas* Canvas);
	void UpdateComponent(UCanvas* Canvas);
};

// Class	UGUIFloatEdit is declared in "..\GUI\Classes\GUIFloatEdit.uc"
class GUI_API	UGUIFloatEdit	: public UGUIMultiComponent
{
public:
    class UGUIEditBox* MyEditBox;
    class UGUISpinnerButton* MyPlus;
    class UGUISpinnerButton* MyMinus;
    FStringNoInit Value;
    BITFIELD bLeftJustified:1;
    FLOAT MinValue;
    FLOAT MaxValue;
    FLOAT Step;
	   DECLARE_CLASS(UGUIFloatEdit,UGUIMultiComponent,0|CLASS_Config,GUI)
		void Draw(UCanvas* Canvas);
};

// Class	UGUIListBoxBase is declared in "..\GUI\Classes\GUIListBoxBase.uc"
class GUI_API	UGUIListBoxBase	: public UGUIMultiComponent
{
public:
    class UGUIVertScrollBar* MyScrollBar;
    class UGUIListBase* MyActiveList;
    BITFIELD bVisibleWhenEmpty:1;
    BITFIELD bReadOnly:1;
	   DECLARE_CLASS(UGUIListBoxBase,UGUIMultiComponent,0|CLASS_Config,GUI)
	void PreDraw(UCanvas* Canvas);
	void Draw(UCanvas* Canvas);								// Handle drawing of the component natively
	void UpdateComponent(UCanvas* Canvas);
};

// Class	UGUIListBox is declared in "..\GUI\Classes\GUIListBox.uc"
class GUI_API	UGUIListBox	: public UGUIListBoxBase
{
public:
    class UGUIList* List;
	   DECLARE_CLASS(UGUIListBox,UGUIListBoxBase,0|CLASS_Config,GUI)
	   NO_DEFAULT_CONSTRUCTOR(UGUIListBox)
};

// Class	UGUIMultiColumnListBox is declared in "..\GUI\Classes\GUIMultiColumnListBox.uc"
class GUI_API	UGUIMultiColumnListBox	: public UGUIListBoxBase
{
public:
    TArrayNoInit<class UGUIMultiColumnList*> MultiColumnList;
    TArrayNoInit<FString> ListNames;
    INT ActiveIndex;
    INT ActiveRowIndex;
    class UGUIButton* ActiveButton;
    TArrayNoInit<FGUIListElem> ActiveRow;
    INT LastClickedIndex;
    BITFIELD bResizable:1;
    FLOAT DragSpacing;
    INT ColumnBorder;
	   DECLARE_FUNCTION(execReorderItems);
	   DECLARE_CLASS(UGUIMultiColumnListBox,UGUIListBoxBase,0|CLASS_Config,GUI)
void PreDraw(UCanvas* Canvas);
void UpdateComponent(UCanvas* Canvas);
int MouseOverColumnBorder();
UGUIComponent* UnderCursor(FLOAT MouseX, FLOAT MouseY);
UBOOL MousePressed(UBOOL IsRepeat);
UBOOL MouseReleased();
};

// Class	UGUIScrollTextBox is declared in "..\GUI\Classes\GUIScrollTextBox.uc"
class GUI_API	UGUIScrollTextBox	: public UGUIListBoxBase
{
public:
    class UGUIScrollText* MyScrollText;
    BITFIELD bRepeat:1;
    BITFIELD bNoTeletype:1;
    BITFIELD bStripColors:1;
    FLOAT InitialDelay;
    FLOAT CharDelay;
    FLOAT EOLDelay;
    FLOAT RepeatDelay;
    BYTE TextAlign;
	   DECLARE_CLASS(UGUIScrollTextBox,UGUIListBoxBase,0|CLASS_Config,GUI)
	   NO_DEFAULT_CONSTRUCTOR(UGUIScrollTextBox)
};

// Class	UGUIMenuOption is declared in "..\GUI\Classes\GUIMenuOption.uc"
class GUI_API	UGUIMenuOption	: public UGUIMultiComponent
{
public:
    FStringNoInit ComponentClassName;
    FStringNoInit Caption;
    FStringNoInit LabelStyle;
    BITFIELD bHeightFromComponent:1;
    FLOAT CaptionWidth;
    FLOAT ComponentWidth;
    BITFIELD bFlipped:1;
    BYTE LabelJustification;
    BYTE ComponentJustification;
    BITFIELD bSquare:1;
    BITFIELD bVerticalLayout:1;
    class UGUILabel* MyLabel;
    class UGUIComponent* MyComponent;
	   DECLARE_CLASS(UGUIMenuOption,UGUIMultiComponent,0|CLASS_Config,GUI)
		void PreDraw(UCanvas* Canvas);
	void UpdateComponent(UCanvas* Canvas);
};

// Class	UGUIMultiColumnList is declared in "..\GUI\Classes\GUIMultiColumnList.uc"
class GUI_API	UGUIMultiColumnList	: public UGUIMultiComponent
{
public:
    class UGUIList* MCList;
    class UGUIButton* MCButton;
    FLOAT ColumnWidth;
    FLOAT HeaderHeight;
    BITFIELD bIgnoreHeader:1;
    INT IndexID;
	   DECLARE_CLASS(UGUIMultiColumnList,UGUIMultiComponent,0|CLASS_Config,GUI)
	void PreDraw(UCanvas* Canvas);
	void UpdateComponent(UCanvas* Canvas);
};

// Class	UGUINumericEdit is declared in "..\GUI\Classes\GUINumericEdit.uc"
class GUI_API	UGUINumericEdit	: public UGUIMultiComponent
{
public:
    class UGUIEditBox* MyEditBox;
    class UGUISpinnerButton* MyPlus;
    class UGUISpinnerButton* MyMinus;
    INT Value;
    BITFIELD bLeftJustified:1;
    INT MinValue;
    INT MaxValue;
    INT Step;
    BITFIELD bDisplayAsTime:1;
    BITFIELD bReadOnly:1;
	   DECLARE_CLASS(UGUINumericEdit,UGUIMultiComponent,0|CLASS_Config,GUI)
		void Draw(UCanvas* Canvas);
};

// Class	UGUITimeDisplay is declared in "..\GUI\Classes\GUITimeDisplay.uc"
class GUI_API	UGUITimeDisplay	: public UGUINumericEdit
{
public:
    class UGUILabel* TimerLabel;
    BITFIELD bShowWhileNotRunning:1;
    BITFIELD bRunning:1;
    BITFIELD bLooping:1;
    INT StartTime;
    INT ElapsedTime;
    FScriptDelegate __OnTimeExpired__Delegate;
	  void	delegateOnTimeExpired()
	  {
		   ProcessDelegate(GUI_OnTimeExpired,&__OnTimeExpired__Delegate,NULL);
	  }
	   DECLARE_CLASS(UGUITimeDisplay,UGUINumericEdit,0|CLASS_Config,GUI)
	   NO_DEFAULT_CONSTRUCTOR(UGUITimeDisplay)
};

// Class	UGUIPage is declared in "..\GUI\Classes\GUIPage.uc"
class GUI_API	UGUIPage	: public UGUIMultiComponent
{
public:
    TArrayNoInit<class UGUIComponent*> Timers;
    BITFIELD bIsOverlay:1;
    BITFIELD bIsHUD:1;
    class UGUILabel* HelpText;
    FStringNoInit DialogClassName;
    FScriptDelegate __OnDlgReturned__Delegate;
    FScriptDelegate __OnPopupReturned__Delegate;
	  void	eventNotifyLevelChange()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_NotifyLevelChange),NULL);
	  }
	  void	eventHandleParameters(const FString& Param1, const FString& Param2, INT param3)
	  {
        UGUIPage_eventHandleParameters_Parms Parms;
		   Parms.Param1=Param1;
		   Parms.Param2=Param2;
		   Parms.param3=param3;
        ProcessEvent(FindFunctionChecked(GUI_HandleParameters),&Parms);
	  }
	  void	eventChangeHint(const FString& NewHint)
	  {
        UGUIPage_eventChangeHint_Parms Parms;
		   Parms.NewHint=NewHint;
        ProcessEvent(FindFunctionChecked(GUI_ChangeHint),&Parms);
	  }
	  void	delegateOnPopupReturned(FGUIListElem returnObj, const FString& Passback)
	  {
        UGUIPage_eventOnPopupReturned_Parms Parms;
		   Parms.returnObj=returnObj;
		   Parms.Passback=Passback;
		   ProcessDelegate(GUI_OnPopupReturned,&__OnPopupReturned__Delegate,&Parms);
	  }
	  void	delegateOnDlgReturned(INT returnButton, const FString& Passback)
	  {
        UGUIPage_eventOnDlgReturned_Parms Parms;
		   Parms.returnButton=returnButton;
		   Parms.Passback=Passback;
		   ProcessDelegate(GUI_OnDlgReturned,&__OnDlgReturned__Delegate,&Parms);
	  }
	   DECLARE_CLASS(UGUIPage,UGUIMultiComponent,0|CLASS_Config,GUI)
		UBOOL NativeKeyEvent(BYTE& iKey, BYTE& State, FLOAT Delta );
		void UpdateTimers(float DeltaTime);
		UBOOL MousePressed(UBOOL IsRepeat);					// The Mouse was pressed
		UBOOL MouseReleased();								// The Mouse was released

        UBOOL XControllerEvent(int Id, eXControllerCodes iCode);

};

// Class	UGUIPanel is declared in "..\GUI\Classes\GUIPanel.uc"
class GUI_API	UGUIPanel	: public UGUIMultiComponent
{
public:
	   DECLARE_CLASS(UGUIPanel,UGUIMultiComponent,0|CLASS_Config,GUI)
	   NO_DEFAULT_CONSTRUCTOR(UGUIPanel)
};

// Class	UGUIDlg is declared in "..\GUI\Classes\GUIDlg.uc"
class GUI_API	UGUIDlg	: public UGUIPanel
{
public:
    class UGUILabel* MyLabel;
    TArrayNoInit<class UGUIButton*> MyButtons;
    FStringNoInit Passback;
    INT Selection;
    FLOAT ButtonPercentX;
    FLOAT ButtonPercentY;
	   DECLARE_CLASS(UGUIDlg,UGUIPanel,0|CLASS_Config,GUI)
	void PreDraw(UCanvas* Canvas);
	void UpdateComponent(UCanvas* Canvas);
};

// Class	UGUISplitter is declared in "..\GUI\Classes\GUISplitter.uc"
class GUI_API	UGUISplitter	: public UGUIPanel
{
public:
    BYTE SplitOrientation;
    FLOAT SplitPosition;
    BITFIELD bFixedSplitter:1;
    BITFIELD bDrawSplitter:1;
    FLOAT SplitAreaSize;
    FStringNoInit DefaultPanels[2];
    FLOAT MaxPercentage;
    class UGUIComponent* Panels[2];
	   DECLARE_FUNCTION(execSplitterUpdatePositions);
	   DECLARE_CLASS(UGUISplitter,UGUIPanel,0|CLASS_Config,GUI)
//	void UpdateComponent(UCanvas* Canvas);
		void PreDraw(UCanvas* Canvas);
		void Draw(UCanvas* Canvas);
		UBOOL MouseMove(INT XDelta, INT YDelta);
		UBOOL MousePressed(UBOOL IsRepeat);
        UBOOL MouseReleased();
		UBOOL MouseHover();
		void SplitterUpdatePositions();
};

// Class	UGUIScrollBarBase is declared in "..\GUI\Classes\GUIScrollBarBase.uc"
class GUI_API	UGUIScrollBarBase	: public UGUIMultiComponent
{
public:
    class UGUIListBase* MyList;
	  void	eventAlignThumb()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_AlignThumb),NULL);
	  }
	   DECLARE_CLASS(UGUIScrollBarBase,UGUIMultiComponent,0|CLASS_Config,GUI)
	   NO_DEFAULT_CONSTRUCTOR(UGUIScrollBarBase)
};

// Class	UGUIHorzScrollBar is declared in "..\GUI\Classes\GUIHorzScrollBar.uc"
class GUI_API	UGUIHorzScrollBar	: public UGUIScrollBarBase
{
public:
    class UGUIHorzScrollZone* MyScrollZone;
    class UGUIHorzScrollButton* MyLeftButton;
    class UGUIHorzScrollButton* MyRightButton;
    class UGUIHorzGripButton* MyGripButton;
    FLOAT GripLeft;
    FLOAT GripWidth;
	   DECLARE_CLASS(UGUIHorzScrollBar,UGUIScrollBarBase,0|CLASS_Config,GUI)
		void PreDraw(UCanvas* Canvas);
	void UpdateComponent(UCanvas* Canvas);
};

// Class	UGUIVertScrollBar is declared in "..\GUI\Classes\GUIVertScrollBar.uc"
class GUI_API	UGUIVertScrollBar	: public UGUIScrollBarBase
{
public:
    class UGUIVertScrollZone* MyScrollZone;
    class UGUIVertScrollButton* MyUpButton;
    class UGUIVertScrollButton* MyDownButton;
    class UGUIVertGripButton* MyGripButton;
    FLOAT GripTop;
    FLOAT GripHeight;
    FLOAT GrabOffset;
	   DECLARE_CLASS(UGUIVertScrollBar,UGUIScrollBarBase,0|CLASS_Config,GUI)
		void PreDraw(UCanvas* Canvas);
		void UpdateComponent(UCanvas* Canvas);
};

// Class	UGUIProgressBar is declared in "..\GUI\Classes\GUIProgressBar.uc"
class GUI_API	UGUIProgressBar	: public UGUIComponent
{
public:
    class UMaterial* BarMaterial;
    FColor BarColor;
    BYTE BarRenderStyle;
    FLOAT Value;
    BYTE BarDirection;
	   DECLARE_CLASS(UGUIProgressBar,UGUIComponent,0|CLASS_Config,GUI)
	void Draw(UCanvas* Canvas);
};

// Class	UGUISlider is declared in "..\GUI\Classes\GUISlider.uc"
class GUI_API	UGUISlider	: public UGUIComponent
{
public:
    FLOAT MinValue;
    FLOAT MaxValue;
    FStringNoInit CaptionStyleName;
    FStringNoInit LeftStyleName;
    FStringNoInit RightStyleName;
    FStringNoInit ButtonStyleName;
    FLOAT Value;
    FLOAT Step;
    class UGUIStyles* CaptionStyle;
    BITFIELD bIntSlider:1;
    BITFIELD bDisplayAsPercentage:1;
    class UGUIStyles* LeftStyle;
    class UGUIStyles* RightStyle;
    class UGUIStyles* ButtonStyle;
    FLOAT SliderHeightPercent;
    FLOAT ButtonWidthPixels;
    BYTE CaptionJustification;
    FLOAT UpdateFreq;
    FLOAT LastChangeMessage;
    FScriptDelegate __OnDrawCaption__Delegate;
	  FString	delegateOnDrawCaption()
	  {
        UGUISlider_eventOnDrawCaption_Parms Parms;
		   ProcessDelegate(GUI_OnDrawCaption,&__OnDrawCaption__Delegate,&Parms);
		   return Parms.ReturnValue;
	  }
	   DECLARE_CLASS(UGUISlider,UGUIComponent,0|CLASS_Config,GUI)
		void Draw(UCanvas* Canvas);
};

// Class	UGUITextComponent is declared in "..\GUI\Classes\GUITextComponent.uc"
class GUI_API	UGUITextComponent	: public UGUIComponent
{
public:
    FStringNoInit Caption;
    BYTE TextAlign;
    BITFIELD bMultiLine:1;
    BITFIELD bDontCenterVertically:1;
	   DECLARE_CLASS(UGUITextComponent,UGUIComponent,0|CLASS_Config,GUI)
		void Draw(UCanvas* Canvas);
};

// Class	UGUIButton is declared in "..\GUI\Classes\GUIButton.uc"
class GUI_API	UGUIButton	: public UGUITextComponent
{
public:
    INT Value;
    BITFIELD bAllowMultiLine:1;
    INT ClickKeyCode;
	   DECLARE_CLASS(UGUIButton,UGUITextComponent,0|CLASS_Config,GUI)
		void Draw(UCanvas* Canvas);
};

// Class	UGUIEditBox is declared in "..\GUI\Classes\GUIEditBox.uc"
class GUI_API	UGUIEditBox	: public UGUIButton
{
public:
    FColor CursorColor;
    class UMaterial* CursorImage;
    FColor HighlightColor;
    class UMaterial* HighlightImage;
    FStringNoInit TextStr;
    FStringNoInit AllowedCharSet;
    BITFIELD bMaskText:1;
    FStringNoInit MaskedChar;
    BITFIELD bIntOnly:1;
    BITFIELD bFloatOnly:1;
    BITFIELD bIncludeSign:1;
    BITFIELD bConvertSpaces:1;
    INT MaxWidth;
    BYTE TextCase;
    INT BorderOffsets[4];
    BITFIELD bReadOnly:1;
    FStringNoInit VisibleText;
    INT HighlightStart;
    INT HighlightEnd;
    INT CaretPos;
    INT FirstVis;
    INT LastLength;
    INT LastCaret;
    BITFIELD bMouseDownTrapped:1;
    BITFIELD bMouseUpTrapped:1;
    BYTE LastKey;
    FLOAT DelayTime;
    FScriptDelegate __OnEntryCompleted__Delegate;
    FScriptDelegate __OnEntryCancelled__Delegate;
	  void	eventSetText(const FString& NewText)
	  {
        UGUIEditBox_eventSetText_Parms Parms;
		   Parms.NewText=NewText;
        ProcessEvent(FindFunctionChecked(GUI_SetText),&Parms);
	  }
	  void	delegateOnEntryCancelled(class UGUIComponent* Sender)
	  {
        UGUIEditBox_eventOnEntryCancelled_Parms Parms;
		   Parms.Sender=Sender;
		   ProcessDelegate(GUI_OnEntryCancelled,&__OnEntryCancelled__Delegate,&Parms);
	  }
	  void	delegateOnEntryCompleted(class UGUIComponent* Sender)
	  {
        UGUIEditBox_eventOnEntryCompleted_Parms Parms;
		   Parms.Sender=Sender;
		   ProcessDelegate(GUI_OnEntryCompleted,&__OnEntryCompleted__Delegate,&Parms);
	  }
	   DECLARE_CLASS(UGUIEditBox,UGUIButton,0|CLASS_Config,GUI)
		void Draw(UCanvas* Canvas);
};

// Class	UGUIGFXButton is declared in "..\GUI\Classes\GUIGFXButton.uc"
class GUI_API	UGUIGFXButton	: public UGUIButton
{
public:
    class UMaterial* Graphic;
    BYTE Position;
    BITFIELD bCheckBox:1;
    BITFIELD bClientBound:1;
    BITFIELD bChecked:1;
    BITFIELD bForceUpdate:1;
	   DECLARE_CLASS(UGUIGFXButton,UGUIButton,0|CLASS_Config,GUI)
		void Draw(UCanvas* Canvas);
};

// Class	UGUICheckBoxButton is declared in "..\GUI\Classes\GUICheckBoxButton.uc"
class GUI_API	UGUICheckBoxButton	: public UGUIGFXButton
{
public:
	   DECLARE_CLASS(UGUICheckBoxButton,UGUIGFXButton,0|CLASS_Config,GUI)
	   NO_DEFAULT_CONSTRUCTOR(UGUICheckBoxButton)
};

// Class	UGUIRadioButton is declared in "..\GUI\Classes\GUIRadioButton.uc"
class GUI_API	UGUIRadioButton	: public UGUICheckBoxButton
{
public:
	   DECLARE_CLASS(UGUIRadioButton,UGUICheckBoxButton,0|CLASS_Config,GUI)
	   NO_DEFAULT_CONSTRUCTOR(UGUIRadioButton)
};

// Class	UGUIHorzGripButton is declared in "..\GUI\Classes\GUIHorzGripButton.uc"
class GUI_API	UGUIHorzGripButton	: public UGUIGFXButton
{
public:
    class UMaterial* GripButtonImage;
	   DECLARE_CLASS(UGUIHorzGripButton,UGUIGFXButton,0|CLASS_Config,GUI)
	   NO_DEFAULT_CONSTRUCTOR(UGUIHorzGripButton)
};

// Class	UGUIHorzScrollButton is declared in "..\GUI\Classes\GUIHorzScrollButton.uc"
class GUI_API	UGUIHorzScrollButton	: public UGUIGFXButton
{
public:
    BITFIELD LeftButton:1;
    class UMaterial* LeftImage;
    class UMaterial* RightImage;
	   DECLARE_CLASS(UGUIHorzScrollButton,UGUIGFXButton,0|CLASS_Config,GUI)
	   NO_DEFAULT_CONSTRUCTOR(UGUIHorzScrollButton)
};

// Class	UGUISpinnerButton is declared in "..\GUI\Classes\GUISpinnerButton.uc"
class GUI_API	UGUISpinnerButton	: public UGUIGFXButton
{
public:
    BITFIELD PlusButton:1;
    class UMaterial* PlusImage;
    class UMaterial* MinusImage;
	   DECLARE_CLASS(UGUISpinnerButton,UGUIGFXButton,0|CLASS_Config,GUI)
	   NO_DEFAULT_CONSTRUCTOR(UGUISpinnerButton)
};

// Class	UGUIVertGripButton is declared in "..\GUI\Classes\GUIVertGripButton.uc"
class GUI_API	UGUIVertGripButton	: public UGUIGFXButton
{
public:
    class UMaterial* GripButtonImage;
	   DECLARE_CLASS(UGUIVertGripButton,UGUIGFXButton,0|CLASS_Config,GUI)
	   NO_DEFAULT_CONSTRUCTOR(UGUIVertGripButton)
};

// Class	UGUIVertScrollButton is declared in "..\GUI\Classes\GUIVertScrollButton.uc"
class GUI_API	UGUIVertScrollButton	: public UGUIGFXButton
{
public:
    BITFIELD UpButton:1;
    class UMaterial* UpImage;
    class UMaterial* DownImage;
	   DECLARE_CLASS(UGUIVertScrollButton,UGUIGFXButton,0|CLASS_Config,GUI)
	   NO_DEFAULT_CONSTRUCTOR(UGUIVertScrollButton)
};

// Class	UGUIComboButton is declared in "..\GUI\Classes\GUIComboButton.uc"
class GUI_API	UGUIComboButton	: public UGUIVertScrollButton
{
public:
	   DECLARE_CLASS(UGUIComboButton,UGUIVertScrollButton,0|CLASS_Config,GUI)
	   NO_DEFAULT_CONSTRUCTOR(UGUIComboButton)
};

// Class	UGUIToggleButton is declared in "..\GUI\Classes\GUIToggleButton.uc"
class GUI_API	UGUIToggleButton	: public UGUIButton
{
public:
    class UMaterial* Icon;
    BITFIELD bUserControlled:1;
    BITFIELD bChecked:1;
	   DECLARE_CLASS(UGUIToggleButton,UGUIButton,0|CLASS_Config,GUI)
		void Draw(UCanvas* Canvas);
};

// Class	UGUILabel is declared in "..\GUI\Classes\GUILabel.uc"
class GUI_API	UGUILabel	: public UGUITextComponent
{
public:
	   DECLARE_CLASS(UGUILabel,UGUITextComponent,0|CLASS_Config,GUI)
	   NO_DEFAULT_CONSTRUCTOR(UGUILabel)
};

// Class	UGUIHelpText is declared in "..\GUI\Classes\GUIHelpText.uc"
class GUI_API	UGUIHelpText	: public UGUILabel
{
public:
    FLOAT XOverlapPercent;
    FLOAT YOverlapPercent;
    FLOAT XBorderPercent;
    FLOAT YBorderPercent;
    FLOAT MaxWidth;
	   DECLARE_CLASS(UGUIHelpText,UGUILabel,0|CLASS_Config,GUI)
		void PreDraw(UCanvas* Canvas);
	void UpdateComponent(UCanvas* Canvas);
};

// Class	UGUIVertScrollZone is declared in "..\GUI\Classes\GUIVertScrollZone.uc"
class GUI_API	UGUIVertScrollZone	: public UGUIComponent
{
public:
    FScriptDelegate __OnScrollZoneClick__Delegate;
	  void	delegateOnScrollZoneClick(FLOAT Delta)
	  {
        UGUIVertScrollZone_eventOnScrollZoneClick_Parms Parms;
		   Parms.Delta=Delta;
		   ProcessDelegate(GUI_OnScrollZoneClick,&__OnScrollZoneClick__Delegate,&Parms);
	  }
	   DECLARE_CLASS(UGUIVertScrollZone,UGUIComponent,0|CLASS_Config,GUI)
		void Draw(UCanvas* Canvas);
};

// Class	UGUIFont is declared in "..\GUI\Classes\GUIFont.uc"
class GUI_API	UGUIFont	: public UGUI
{
public:
    FStringNoInit KeyName;
    BITFIELD bFixedSize:1;
    FLOAT AppliedKerning;
    FLOAT AppliedLeading;
    TArrayNoInit<FString> FontArrayNames;
    TArrayNoInit<class UFont*> FontArrayFonts;
	   DECLARE_FUNCTION(execGetFont);
	  class UFont*	eventGetFont(INT XRes)
	  {
        UGUIFont_eventGetFont_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.XRes=XRes;
        ProcessEvent(FindFunctionChecked(GUI_GetFont),&Parms);
		   return Parms.ReturnValue;
	  }
	   DECLARE_CLASS(UGUIFont,UGUI,0|CLASS_Config,GUI)
        virtual void Modify(); //callback from the object browser
};

// Class	UGUIStyles is declared in "..\GUI\Classes\GUIStyles.uc"
class GUI_API	UGUIStyles	: public UGUI
{
public:
    FStringNoInit KeyName;
    TArrayNoInit<BYTE> RStyles;
    TArrayNoInit<class UMaterial*> Images;
    TArrayNoInit<BYTE> ImgStyle;
    TArrayNoInit<FColor> FontColors;
    TArrayNoInit<FColor> ImgColors;
    TArrayNoInit<FsBorderOffset> BorderOffsets;
    TArrayNoInit<FString> FontNames;
    TArrayNoInit<class UGUIFont*> Fonts;
    TArrayNoInit<FString> BoldFontNames;
    TArrayNoInit<class UGUIFont*> BoldFonts;
    TArrayNoInit<FString> ItalicFontNames;
    TArrayNoInit<class UGUIFont*> ItalicFonts;
    TArrayNoInit<FString> BoldItalicFontNames;
    TArrayNoInit<class UGUIFont*> BoldItalicFonts;
    INT UnderlineWeight;
    FName EffectCategory;
    BITFIELD bExternalMultilining:1;
    BITFIELD bLastBold:1;
    BITFIELD bLastItalics:1;
    BITFIELD bLastUnderlined:1;
    class UFont* LastFont;
    FColor LastColor;
    FScriptDelegate __OnDraw__Delegate;
    FScriptDelegate __OnDrawText__Delegate;
	   DECLARE_FUNCTION(execDrawText);
	   DECLARE_FUNCTION(execDraw);
	  void	eventInitialize()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_Initialize),NULL);
	  }
	  BITFIELD	delegateOnDrawText(class UCanvas* Canvas, BYTE MenuState, FLOAT Left, FLOAT Top, FLOAT Width, FLOAT height, BYTE Align, const FString& Text, BITFIELD bParseCodes, BITFIELD bMultiLine)
	  {
        UGUIStyles_eventOnDrawText_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.Canvas=Canvas;
		   Parms.MenuState=MenuState;
		   Parms.Left=Left;
		   Parms.Top=Top;
		   Parms.Width=Width;
		   Parms.height=height;
		   Parms.Align=Align;
		   Parms.Text=Text;
		   Parms.bParseCodes=bParseCodes;
		   Parms.bMultiLine=bMultiLine;
		   ProcessDelegate(GUI_OnDrawText,&__OnDrawText__Delegate,&Parms);
		   return Parms.ReturnValue;
	  }
	  BITFIELD	delegateOnDraw(class UCanvas* Canvas, BYTE MenuState, FLOAT Left, FLOAT Top, FLOAT Width, FLOAT height)
	  {
        UGUIStyles_eventOnDraw_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.Canvas=Canvas;
		   Parms.MenuState=MenuState;
		   Parms.Left=Left;
		   Parms.Top=Top;
		   Parms.Width=Width;
		   Parms.height=height;
		   ProcessDelegate(GUI_OnDraw,&__OnDraw__Delegate,&Parms);
		   return Parms.ReturnValue;
	  }
	   DECLARE_CLASS(UGUIStyles,UGUI,0|CLASS_Config,GUI)
		void Draw(UCanvas* Canvas, BYTE MenuState, FLOAT Left, FLOAT Top, FLOAT Width, FLOAT Height);
		void TextSize(UCanvas* Canvas, BYTE MenuState, const TCHAR* Test, INT& XL, INT& YL, BYTE TextStyle = 0);

        void UGUIStyles::DrawText(UCanvas* Canvas, BYTE MenuState, FLOAT Left, FLOAT Top, FLOAT Width, FLOAT Height, BYTE Just, const TArray<FString> &Lines, UBOOL bParseCodes = false, INT NumOffsetLines = 0, UBOOL bDontCenterVertically = false);
        void UGUIStyles::DrawText(UCanvas* Canvas, BYTE MenuState, FLOAT Left, FLOAT Top, FLOAT Width, FLOAT Height, BYTE Just, const TCHAR* Text, UBOOL bParseCodes = false, UBOOL bMultiline = false, TCHAR seperator = '\n', INT NumOffsetLines = 0, UBOOL bDontCenterVertically = false);
        void UGUIStyles::WrapTextToArray(UCanvas* Canvas, FLOAT Width, const TCHAR* Text, TArray<FString> *OutArray, UBOOL bParseCodes = false, TCHAR seperator = '\n', BYTE MenuState = 0 );

        virtual void Modify(); //callback from the object browser
};

// Class	UGUIController is declared in "..\GUI\Classes\GUIController.uc"
class GUI_API	UGUIController	: public UBaseGUIController
{
public:
    BITFIELD bDontDisplayHelpText:1;
    TArrayNoInit<FsMoveGroup> MoveGroups;
    INT GridSize;
    BITFIELD bSnapToGrid:1;
    INT ResolutionX;
    INT ResolutionY;
    BITFIELD bMousePositioning:1;
    FLOAT GUI_TO_WORLD_X;
    FLOAT GUI_TO_WORLD_Y;
    BITFIELD bLastScaled:1;
    TArrayNoInit<FString> PackageNames;
    BITFIELD bHasLoadedPackages:1;
    TArrayNoInit<class UGUIComponent*> PersistentStack;
    TArrayNoInit<class UGUIPage*> MenuStack;
    class UGUIPage* ActivePage;
    TArrayNoInit<FString> FontNames;
    TArrayNoInit<class UGUIFont*> FontStack;
    TArrayNoInit<class UGUIStyles*> StyleStack;
    TArrayNoInit<FString> StyleNames;
    TArrayNoInit<class UMaterial*> MouseCursors;
    TArrayNoInit<FVector> MouseCursorOffset;
    BYTE ControllerMask;
    BYTE ControllerId;
    FLOAT MouseX;
    FLOAT MouseY;
    FLOAT LastMouseX;
    FLOAT LastMouseY;
    BITFIELD ShiftPressed:1;
    BITFIELD AltPressed:1;
    BITFIELD CtrlPressed:1;
    FLOAT DblClickWindow;
    FLOAT LastClickTime;
    INT LastClickX;
    INT LastClickY;
    FLOAT ButtonRepeatDelay;
    BYTE RepeatKey[4];
    FLOAT RepeatDelta[4];
    FLOAT RepeatTime[4];
    FLOAT CursorFade;
    INT CursorStep;
    FLOAT FastCursorFade;
    INT FastCursorStep;
    class UGUIComponent* FocusedControl;
    class UGUIComponent* ActiveControl;
    class UGUIComponent* SkipControl;
    class UGUIComponent* MoveControl;
    FLOAT SavedMoveOffsetX;
    FLOAT SavedMoveOffsetY;
    BITFIELD bModAuthor:1;
    BITFIELD bDesignMode:1;
    BITFIELD bPlayerDesignMode:1;
    BITFIELD bHighlightCurrent:1;
    BITFIELD bStyleCreate:1;
    BITFIELD bStylesDisplay:1;
    BITFIELD bMemberDisplay:1;
    BITFIELD bMemberEdit:1;
    BITFIELD bEditing:1;
    BITFIELD bHelpDisplay:1;
    BITFIELD bShowConfigMembers:1;
    BITFIELD bShowGUIMembers:1;
    BITFIELD bShowPageList:1;
    BITFIELD bComponentMenu:1;
    class UGUIComponent* SaveControl;
    class UGUIStyles* SaveStyle;
    FStringNoInit CurrentMemberObjName;
    TArrayNoInit<FString> CurrentMemberObjValue;
    INT CurrentMember;
    INT MemberEditLevel;
    INT MemberEditPosition;
    TArrayNoInit<FString> HelpStack;
    TArrayNoInit<FString> ComponentClassList;
    FLOAT MenuMouseSens;
    class USound* MouseOverSound;
    class USound* ClickSound;
    class USound* EditSound;
    class USound* UpSound;
    class USound* DownSound;
    BITFIELD bForceMouseCheck:1;
    BITFIELD bSwallowNextKeyType:1;
    TArrayNoInit<FControlSpec> AutoLoad;
    TArrayNoInit<class UGUIComponent*> InterestedResolutionChanged;
    BITFIELD bEmulatedJoypad:1;
    BITFIELD bJoyMouse:1;
    BITFIELD bHideMouseCursor:1;
    FLOAT JoyDeadZone;
    FLOAT JoyLeftXAxis[4];
    FLOAT JoyLeftYAxis[4];
    FLOAT JoyRightXAxis[4];
    FLOAT JoyRightYAxis[4];
    BYTE JoyButtons[64];
    FLOAT JoyControlsDelta[16];
    class UMaterial* WhiteBorder;
    BITFIELD CaptureScriptExec:1;
    FScriptDelegate __OnNeedRawKeyPress__Delegate;
	   DECLARE_FUNCTION(execPaintProgress);
	   DECLARE_FUNCTION(execRemoveMenu);
	   DECLARE_FUNCTION(execLoadLevelSummary);
	   DECLARE_FUNCTION(execGetDEMHeader);
	   DECLARE_FUNCTION(execGetDEMList);
	   DECLARE_FUNCTION(execMouseEmulation);
	   DECLARE_FUNCTION(execResetKeyboard);
	   DECLARE_FUNCTION(execGetMapList);
	   DECLARE_FUNCTION(execGetCurrentRes);
	   DECLARE_FUNCTION(execGetStyle);
	   DECLARE_FUNCTION(execGetMenuFont);
	  void	eventLogGUIComponent(class UGUIComponent* Ctrl, INT Level)
	  {
        UGUIController_eventLogGUIComponent_Parms Parms;
		   Parms.Ctrl=Ctrl;
		   Parms.Level=Level;
        ProcessEvent(FindFunctionChecked(GUI_LogGUIComponent),&Parms);
	  }
	  void	eventLogGUIPage(class UGUIPage* Page)
	  {
        UGUIController_eventLogGUIPage_Parms Parms;
		   Parms.Page=Page;
        ProcessEvent(FindFunctionChecked(GUI_LogGUIPage),&Parms);
	  }
	  void	eventLogGUI()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_LogGUI),NULL);
	  }
	  void	eventNotifyLevelChange()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_NotifyLevelChange),NULL);
	  }
	  void	eventRedoActiveComponent(class UGUIComponent* Ctrl, BITFIELD bMoveGroup)
	  {
        UGUIController_eventRedoActiveComponent_Parms Parms;
		   Parms.Ctrl=Ctrl;
		   Parms.bMoveGroup=bMoveGroup;
        ProcessEvent(FindFunctionChecked(GUI_RedoActiveComponent),&Parms);
	  }
	  void	eventUndoActiveComponent(class UGUIComponent* Ctrl, BITFIELD bMoveGroup)
	  {
        UGUIController_eventUndoActiveComponent_Parms Parms;
		   Parms.Ctrl=Ctrl;
		   Parms.bMoveGroup=bMoveGroup;
        ProcessEvent(FindFunctionChecked(GUI_UndoActiveComponent),&Parms);
	  }
	  void	eventSaveActiveComponent(class UGUIComponent* Ctrl, BITFIELD bMoveGroup)
	  {
        UGUIController_eventSaveActiveComponent_Parms Parms;
		   Parms.Ctrl=Ctrl;
		   Parms.bMoveGroup=bMoveGroup;
        ProcessEvent(FindFunctionChecked(GUI_SaveActiveComponent),&Parms);
	  }
	  void	eventToggleActiveComponentSizing(class UGUIComponent* Ctrl, BITFIELD bPropagate, BITFIELD bMoveGroup)
	  {
        UGUIController_eventToggleActiveComponentSizing_Parms Parms;
		   Parms.Ctrl=Ctrl;
		   Parms.bPropagate=bPropagate;
		   Parms.bMoveGroup=bMoveGroup;
        ProcessEvent(FindFunctionChecked(GUI_ToggleActiveComponentSizing),&Parms);
	  }
	  void	eventToggleSnapToGrid()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_ToggleSnapToGrid),NULL);
	  }
	  void	eventOnResolutionChanged(INT OldResolutionX, INT OldResolutionY, INT NewResolutionX, INT NewResolutionY)
	  {
        UGUIController_eventOnResolutionChanged_Parms Parms;
		   Parms.OldResolutionX=OldResolutionX;
		   Parms.OldResolutionY=OldResolutionY;
		   Parms.NewResolutionX=NewResolutionX;
		   Parms.NewResolutionY=NewResolutionY;
        ProcessEvent(FindFunctionChecked(GUI_OnResolutionChanged),&Parms);
	  }
	  void	eventGetGuiResolution()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_GetGuiResolution),NULL);
	  }
	  void	eventUpdateControl(class UGUIComponent* Ctrl, BITFIELD bResized)
	  {
        UGUIController_eventUpdateControl_Parms Parms;
		   Parms.Ctrl=Ctrl;
		   Parms.bResized=bResized;
        ProcessEvent(FindFunctionChecked(GUI_UpdateControl),&Parms);
	  }
	  void	eventSetFocusedPos(class UGUIComponent* Ctrl, FLOAT bmLeft, FLOAT bmTop, INT ClipX, INT ClipY)
	  {
        UGUIController_eventSetFocusedPos_Parms Parms;
		   Parms.Ctrl=Ctrl;
		   Parms.bmLeft=bmLeft;
		   Parms.bmTop=bmTop;
		   Parms.ClipX=ClipX;
		   Parms.ClipY=ClipY;
        ProcessEvent(FindFunctionChecked(GUI_SetFocusedPos),&Parms);
	  }
	  void	eventMoveFocused(class UGUIComponent* Ctrl, INT bmLeft, INT bmTop, INT bmWidth, INT bmHeight, FLOAT ClipX, FLOAT ClipY, BITFIELD bMoveGroup)
	  {
        UGUIController_eventMoveFocused_Parms Parms;
		   Parms.Ctrl=Ctrl;
		   Parms.bmLeft=bmLeft;
		   Parms.bmTop=bmTop;
		   Parms.bmWidth=bmWidth;
		   Parms.bmHeight=bmHeight;
		   Parms.ClipX=ClipX;
		   Parms.ClipY=ClipY;
		   Parms.bMoveGroup=bMoveGroup;
        ProcessEvent(FindFunctionChecked(GUI_MoveFocused),&Parms);
	  }
	  void	eventSelectNextControlInMoveGroup()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_SelectNextControlInMoveGroup),NULL);
	  }
	  void	eventSizeControlsInGroup(class UGUIComponent* Ctrl, BYTE Size)
	  {
        UGUIController_eventSizeControlsInGroup_Parms Parms;
		   Parms.Ctrl=Ctrl;
		   Parms.Size=Size;
        ProcessEvent(FindFunctionChecked(GUI_SizeControlsInGroup),&Parms);
	  }
	  void	eventAlignControlsInGroup(class UGUIComponent* Ctrl, BYTE Align)
	  {
        UGUIController_eventAlignControlsInGroup_Parms Parms;
		   Parms.Ctrl=Ctrl;
		   Parms.Align=Align;
        ProcessEvent(FindFunctionChecked(GUI_AlignControlsInGroup),&Parms);
	  }
	  void	eventMoveControlGroup(INT fromGroup, INT toGroup)
	  {
        UGUIController_eventMoveControlGroup_Parms Parms;
		   Parms.fromGroup=fromGroup;
		   Parms.toGroup=toGroup;
        ProcessEvent(FindFunctionChecked(GUI_MoveControlGroup),&Parms);
	  }
	  void	eventKillControlGroup(INT Group)
	  {
        UGUIController_eventKillControlGroup_Parms Parms;
		   Parms.Group=Group;
        ProcessEvent(FindFunctionChecked(GUI_KillControlGroup),&Parms);
	  }
	  void	eventGroupControl(class UGUIComponent* Ctrl, INT Group)
	  {
        UGUIController_eventGroupControl_Parms Parms;
		   Parms.Ctrl=Ctrl;
		   Parms.Group=Group;
        ProcessEvent(FindFunctionChecked(GUI_GroupControl),&Parms);
	  }
	  void	eventChangeFocus(class UGUIComponent* NewFocus)
	  {
        UGUIController_eventChangeFocus_Parms Parms;
		   Parms.NewFocus=NewFocus;
        ProcessEvent(FindFunctionChecked(GUI_ChangeFocus),&Parms);
	  }
	  BITFIELD	eventInternalOpenMenu(class UGUIPage* NewMenu, const FString& Param1, const FString& Param2, INT param3)
	  {
        UGUIController_eventInternalOpenMenu_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.NewMenu=NewMenu;
		   Parms.Param1=Param1;
		   Parms.Param2=Param2;
		   Parms.param3=param3;
        ProcessEvent(FindFunctionChecked(GUI_InternalOpenMenu),&Parms);
		   return Parms.ReturnValue;
	  }
	  class UGUIComponent*	eventFindPersistentComponent(const FString& theName, BITFIELD bExact)
	  {
        UGUIController_eventFindPersistentComponent_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.theName=theName;
		   Parms.bExact=bExact;
        ProcessEvent(FindFunctionChecked(GUI_FindPersistentComponent),&Parms);
		   return Parms.ReturnValue;
	  }
	  class UGUIPage*	eventCreateMenu(const FString& NewMenuName, const FString& MenuNameOverride)
	  {
        UGUIController_eventCreateMenu_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.NewMenuName=NewMenuName;
		   Parms.MenuNameOverride=MenuNameOverride;
        ProcessEvent(FindFunctionChecked(GUI_CreateMenu),&Parms);
		   return Parms.ReturnValue;
	  }
	  void	eventReloadGUI()
	  {
		   ProcessEvent(FindFunctionChecked(GUI_ReloadGUI),NULL);
	  }
	  class UGUIComponent*	eventCreateComponent(const FString& ComponentClass, const FString& ComponentName)
	  {
        UGUIController_eventCreateComponent_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.ComponentClass=ComponentClass;
		   Parms.ComponentName=ComponentName;
        ProcessEvent(FindFunctionChecked(GUI_CreateComponent),&Parms);
		   return Parms.ReturnValue;
	  }
	  BITFIELD	eventRegisterStyle(const FString& StyleClass)
	  {
        UGUIController_eventRegisterStyle_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.StyleClass=StyleClass;
        ProcessEvent(FindFunctionChecked(GUI_RegisterStyle),&Parms);
		   return Parms.ReturnValue;
	  }
	  BITFIELD	eventRegisterFont(const FString& FontClass)
	  {
        UGUIController_eventRegisterFont_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.FontClass=FontClass;
        ProcessEvent(FindFunctionChecked(GUI_RegisterFont),&Parms);
		   return Parms.ReturnValue;
	  }
	  BITFIELD	delegateOnNeedRawKeyPress(BYTE NewKey)
	  {
        UGUIController_eventOnNeedRawKeyPress_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.NewKey=NewKey;
		   ProcessDelegate(GUI_OnNeedRawKeyPress,&__OnNeedRawKeyPress__Delegate,&Parms);
		   return Parms.ReturnValue;
	  }
	  class UGUIStyles*	eventGetStyle(const FString& StyleName)
	  {
        UGUIController_eventGetStyle_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.StyleName=StyleName;
        ProcessEvent(FindFunctionChecked(GUI_GetStyle),&Parms);
		   return Parms.ReturnValue;
	  }
	  class UGUIFont*	eventGetMenuFont(const FString& FontName)
	  {
        UGUIController_eventGetMenuFont_Parms Parms;
		   Parms.ReturnValue=0;
		   Parms.FontName=FontName;
        ProcessEvent(FindFunctionChecked(GUI_GetMenuFont),&Parms);
		   return Parms.ReturnValue;
	  }
	   DECLARE_CLASS(UGUIController,UBaseGUIController,0|CLASS_Config,GUI)
        UBOOL ScriptConsoleExec( const TCHAR* Str, FOutputDevice& Ar, UObject* Executor );
		void  NativeMessage(const FString Msg, FLOAT MsgLife);
		UBOOL NativeKeyType(BYTE& iKey, TCHAR Unicode );
		UBOOL NativeKeyEvent(BYTE& iKey, BYTE& State, FLOAT Delta );
		void  NativeTick(FLOAT DeltaTime);
		void  NativePreRender(UCanvas* Canvas);
		void  NativePostRender(UCanvas* Canvas);

		virtual void LookUnderCursor(FLOAT dX, FLOAT dY);
		UGUIComponent* UnderCursor(FLOAT MouseX, FLOAT MouseY);

		UBOOL virtual MousePressed(UBOOL IsRepeat);
		UBOOL virtual MouseReleased();

		UBOOL HasMouseMoved();

		void PlayInterfaceSound(USound* sound);
		void PlayClickSound(BYTE SoundNum);

        virtual void Modify(); //callback from the object browser

        void GroupAllControlsInBounds( UGUIMultiComponent* Ctrl, FLOAT top, FLOAT bottom, FLOAT left, FLOAT right );
};

#endif

AUTOGENERATE_FUNCTION(UGUI,-1,execMakeColorCode);
AUTOGENERATE_FUNCTION(UGUI,-1,execStripCodes);
AUTOGENERATE_FUNCTION(UGUI,-1,execCopyConfig);
AUTOGENERATE_FUNCTION(UGUIComboBox,-1,execCloseAllCombos);
AUTOGENERATE_FUNCTION(UGUIComponent,-1,execActualTop);
AUTOGENERATE_FUNCTION(UGUIComponent,-1,execActualLeft);
AUTOGENERATE_FUNCTION(UGUIComponent,-1,execActualHeight);
AUTOGENERATE_FUNCTION(UGUIComponent,-1,execActualWidth);
AUTOGENERATE_FUNCTION(UGUIComponent,-1,execKillTimer);
AUTOGENERATE_FUNCTION(UGUIComponent,-1,execSetTimer);
AUTOGENERATE_FUNCTION(UGUIController,-1,execPaintProgress);
AUTOGENERATE_FUNCTION(UGUIController,-1,execRemoveMenu);
AUTOGENERATE_FUNCTION(UGUIController,-1,execLoadLevelSummary);
AUTOGENERATE_FUNCTION(UGUIController,-1,execGetDEMHeader);
AUTOGENERATE_FUNCTION(UGUIController,-1,execGetDEMList);
AUTOGENERATE_FUNCTION(UGUIController,-1,execMouseEmulation);
AUTOGENERATE_FUNCTION(UGUIController,-1,execResetKeyboard);
AUTOGENERATE_FUNCTION(UGUIController,-1,execGetMapList);
AUTOGENERATE_FUNCTION(UGUIController,-1,execGetCurrentRes);
AUTOGENERATE_FUNCTION(UGUIController,-1,execGetStyle);
AUTOGENERATE_FUNCTION(UGUIController,-1,execGetMenuFont);
AUTOGENERATE_FUNCTION(UGUIFont,-1,execGetFont);
AUTOGENERATE_FUNCTION(UGUIList,-1,execReorderItems);
AUTOGENERATE_FUNCTION(UGUIList,-1,execqSort);
AUTOGENERATE_FUNCTION(UGUIMultiColumnListBox,-1,execReorderItems);
AUTOGENERATE_FUNCTION(UGUIMultiComponent,-1,execInitializeControls);
AUTOGENERATE_FUNCTION(UGUIScrollText,-1,execGetWordUnderCursor);
AUTOGENERATE_FUNCTION(UGUISplitter,-1,execSplitterUpdatePositions);
AUTOGENERATE_FUNCTION(UGUIStyles,-1,execDrawText);
AUTOGENERATE_FUNCTION(UGUIStyles,-1,execDraw);

#ifndef NAMES_ONLY
#undef AUTOGENERATE_NAME
#undef AUTOGENERATE_FUNCTION
#endif

#if SUPPORTS_PRAGMA_PACK
#pragma pack	(pop)
#endif

#ifdef VERIFY_CLASS_SIZES
VERIFY_CLASS_SIZE_NODIE(UGUI)
VERIFY_CLASS_SIZE_NODIE(UGUIActorContainerBase)
VERIFY_CLASS_SIZE_NODIE(UGUIButton)
VERIFY_CLASS_SIZE_NODIE(UGUICheckBoxButton)
VERIFY_CLASS_SIZE_NODIE(UGUICircularList)
VERIFY_CLASS_SIZE_NODIE(UGUIComboBox)
VERIFY_CLASS_SIZE_NODIE(UGUIComboButton)
VERIFY_CLASS_SIZE_NODIE(UGUIComponent)
VERIFY_CLASS_SIZE_NODIE(UGUIController)
VERIFY_CLASS_SIZE_NODIE(UGUIDlg)
VERIFY_CLASS_SIZE_NODIE(UGUIDualSelectionLists)
VERIFY_CLASS_SIZE_NODIE(UGUIEditBox)
VERIFY_CLASS_SIZE_NODIE(UGUIFloatEdit)
VERIFY_CLASS_SIZE_NODIE(UGUIFont)
VERIFY_CLASS_SIZE_NODIE(UGUIGFXButton)
VERIFY_CLASS_SIZE_NODIE(UGUIHelpText)
VERIFY_CLASS_SIZE_NODIE(UGUIHorzGripButton)
VERIFY_CLASS_SIZE_NODIE(UGUIHorzList)
VERIFY_CLASS_SIZE_NODIE(UGUIHorzScrollBar)
VERIFY_CLASS_SIZE_NODIE(UGUIHorzScrollButton)
VERIFY_CLASS_SIZE_NODIE(UGUIHorzScrollZone)
VERIFY_CLASS_SIZE_NODIE(UGUIImage)
VERIFY_CLASS_SIZE_NODIE(UGUILabel)
VERIFY_CLASS_SIZE_NODIE(UGUIList)
VERIFY_CLASS_SIZE_NODIE(UGUIListBase)
VERIFY_CLASS_SIZE_NODIE(UGUIListBox)
VERIFY_CLASS_SIZE_NODIE(UGUIListBoxBase)
VERIFY_CLASS_SIZE_NODIE(UGUIMenuOption)
VERIFY_CLASS_SIZE_NODIE(UGUIMultiColumnList)
VERIFY_CLASS_SIZE_NODIE(UGUIMultiColumnListBox)
VERIFY_CLASS_SIZE_NODIE(UGUIMultiComponent)
VERIFY_CLASS_SIZE_NODIE(UGUINumericEdit)
VERIFY_CLASS_SIZE_NODIE(UGUIPage)
VERIFY_CLASS_SIZE_NODIE(UGUIPanel)
VERIFY_CLASS_SIZE_NODIE(UGUIProgressBar)
VERIFY_CLASS_SIZE_NODIE(UGUIRadioButton)
VERIFY_CLASS_SIZE_NODIE(UGUIScrollBarBase)
VERIFY_CLASS_SIZE_NODIE(UGUIScrollText)
VERIFY_CLASS_SIZE_NODIE(UGUIScrollTextBox)
VERIFY_CLASS_SIZE_NODIE(UGUISlider)
VERIFY_CLASS_SIZE_NODIE(UGUISpinnerButton)
VERIFY_CLASS_SIZE_NODIE(UGUISplitter)
VERIFY_CLASS_SIZE_NODIE(UGUIStyles)
VERIFY_CLASS_SIZE_NODIE(UGUITextComponent)
VERIFY_CLASS_SIZE_NODIE(UGUITimeDisplay)
VERIFY_CLASS_SIZE_NODIE(UGUIToggleButton)
VERIFY_CLASS_SIZE_NODIE(UGUIVertGripButton)
VERIFY_CLASS_SIZE_NODIE(UGUIVertList)
VERIFY_CLASS_SIZE_NODIE(UGUIVertScrollBar)
VERIFY_CLASS_SIZE_NODIE(UGUIVertScrollButton)
VERIFY_CLASS_SIZE_NODIE(UGUIVertScrollZone)
#endif // VERIFY_CLASS_SIZES
