#ifndef VCZH_PRESENTATION_RESOURCES_GUIRESOURCE
#define VCZH_PRESENTATION_RESOURCES_GUIRESOURCE
#include "../NativeWindow/GuiNativeWindow.h"
namespace
{
namespace
{
class
;
}
namespace
{
class
;
class
;
class
;
extern
(
const
&
);
extern
(
const
&
);
extern
bool
(
const
&
,
&
);
extern
bool
(
const
&
,
&
,
&
);
extern
void
(
stream
::
&
,
const
&
);
extern
(
stream
::
&
);
struct
{
public
:
static
;
static
;
static
;
static
;
static
;
static
;
static
;
static
;
static
;
static
;
static
;
private
:
= -
1
;
public
:
static
(
,
){
return
.
-
.
; }
bool
(
)
const
{
return
==
.
; }
bool
(
)
const
{
return
!=
.
; }
bool
(
)
const
{
return
<
.
; }
bool
(
)
const
{
return
<=
.
; }
bool
(
)
const
{
return
>
.
; }
bool
(
)
const
{
return
>=
.
; }
static
(
const
&
);
()
const
;
()
const
;
};
class
:
public
,
public
<
>
{
protected
:
<
>
;
;
public
:
();
(
<
>
,
);
();
<
>
();
();
};
class
:
public
,
public
<
>
{
protected
:
;
public
:
();
(
const
&
);
();
};
class
:
public
,
public
<
>
{
friend
class
;
protected
:
*
;
;
;
;
public
:
();
();
*
();
const
&
();
();
const
&
();
const
&
();
void
(
const
&
,
const
&
);
};
struct
{
;
;
() =
default
;
(
const
&
,
const
&
);
(
<
>
);
bool
(
const
&
)
const
{
return
.
&&
==
.
; }
bool
(
const
&
)
const
{
return
!(*
this
); }
};
struct
{
;
=
parsing
::
::
;
=
parsing
::
::
;
() =
default
;
(
,
parsing
::
);
bool
(
const
&
)
const
{
return
.
&&
==
.
&&
==
.
; }
bool
(
const
&
)
const
{
return
!(*
this
); }
};
struct
{
public
:
using
=
collections
::
<
>;
;
;
;
() =
default
;
(
,
const
&
);
(
,
const
&
);
(
,
,
const
&
);
bool
(
const
&
)
const
{
return
.
&&
==
.
&&
==
.
; }
bool
(
const
&
)
const
{
return
!(*
this
); }
static
void
(
,
::
&
,
collections
::
<
<
parsing
::
>>&
);
static
void
(
,
::
&
,
collections
::
<
<
parsing
::
>>&
,
parsing
::
);
static
void
(
,
::
&
,
collections
::
<
<
parsing
::
>>&
,
);
static
void
(
&
,
collections
::
<
>&
,
const
&
=
::
);
};
class
;
class
;
struct
GuiResourcePrecompileContext
;
struct
GuiResourceInitializeContext
;
class
IGuiResourcePrecompileCallback
;
class
:
public
,
public
<
>
{
friend
class
;
protected
:
<
>
;
;
public
:
();
();
const
&
();
<
>
();
void
(
const
&
,
<
>
);
<
>
();
<
parsing
::
xml
::
>
();
<
>
();
<
>
();
};
class
:
public
,
public
<
>
{
protected
:
typedef
collections
::
<
,
<
>>
;
typedef
collections
::
<
,
<
>>
;
typedef
collections
::
<
<
>>
;
typedef
collections
::
<
<
>>
;
struct
{
;
;
<
>
;
};
typedef
collections
::
<
>
;
;
;
;
void
LoadResourceFolderFromXml
(
&
,
const
&
,
<
parsing
::
xml
::
>
,
::
&
);
void
(
<
parsing
::
xml
::
>
);
void
(
collections
::
<
>&
);
void
LoadResourceFolderFromBinary
(
&
,
stream
::
internal
::
&
,
collections
::
<
>&
,
::
&
);
void
SaveResourceFolderToBinary
(
stream
::
internal
::
&
,
collections
::
<
>&
);
void
(
GuiResourcePrecompileContext
&
,
IGuiResourcePrecompileCallback
*
,
::
&
);
void
(
GuiResourceInitializeContext
&
,
::
&
);
void
(
const
&
,
,
::
&
);
public
:
();
();
const
&
();
void
(
const
&
);
const
&
();
<
>
(
const
&
);
bool
(
const
&
,
<
>
);
<
>
(
const
&
);
void
();
const
&
();
<
>
(
const
&
);
bool
(
const
&
,
<
>
);
<
>
(
const
&
);
void
();
<
>
(
const
&
);
<
>
(
const
&
);
bool
(
const
&
,
const
&
,
<
>
);
};
enum
class
{
,
,
};
class
:
public
{
public
:
;
;
collections
::
<
>
;
void
(
<
parsing
::
xml
::
>
,
,
::
&
);
<
parsing
::
xml
::
>
();
};
class
:
public
,
public
<
>
{
protected
:
;
<
>
;
static
void
(
<
>
,
&
,
::
&
);
public
:
static
const
wchar_t
*
;
();
();
<
>
();
();
static
<
>
(
<
parsing
::
xml
::
>
,
const
&
,
const
&
,
::
&
);
static
<
>
(
const
&
,
::
&
);
<
parsing
::
xml
::
>
();
static
<
>
(
stream
::
&
,
::
&
);
static
<
>
(
stream
::
&
);
void
(
stream
::
&
);
<
>
(
IGuiResourcePrecompileCallback
*
,
::
&
);
void
(
,
::
&
);
<
>
(
const
&
);
<
>
(
const
&
);
<
parsing
::
xml
::
>
(
const
&
);
(
const
&
);
};
class
:
public
,
public
<
>
{
public
:
virtual
<
>
(
const
&
)=
0
;
};
class
IGuiResourcePathResolverFactory
:
public
,
public
<
IGuiResourcePathResolverFactory
>
{
public
:
virtual
()=
0
;
virtual
<
>
(
<
>
,
const
&
)=
0
;
};
class
:
public
,
public
<
>
{
typedef
collections
::
<
,
<
>>
;
protected
:
;
<
>
;
;
public
:
(
<
>
,
const
&
);
();
<
>
(
const
&
,
const
&
);
};
class
IGuiResourceTypeResolver_Precompile
;
class
IGuiResourceTypeResolver_Initialize
;
class
IGuiResourceTypeResolver_DirectLoadXml
;
class
IGuiResourceTypeResolver_DirectLoadStream
;
class
IGuiResourceTypeResolver_IndirectLoad
;
class
:
public
virtual
,
public
<
>
{
public
:
virtual
() =
0
;
virtual
bool
() =
0
;
virtual
bool
() =
0
;
virtual
IGuiResourceTypeResolver_Precompile
*
(){
return
0
; }
virtual
IGuiResourceTypeResolver_Initialize
*
(){
return
0
; }
virtual
IGuiResourceTypeResolver_DirectLoadXml
*
(){
return
0
; }
virtual
IGuiResourceTypeResolver_DirectLoadStream
*
(){
return
0
; }
virtual
IGuiResourceTypeResolver_IndirectLoad
*
(){
return
0
; }
};
struct
GuiResourcePrecompileContext
{
typedef
collections
::
<
<
>,
<
>>
;
workflow
::
*
=
nullptr
;
<
>
;
*
=
nullptr
;
= -
1
;
<
>
;
;
};
class
IGuiResourceTypeResolver_Precompile
:
public
virtual
,
public
<
IGuiResourceTypeResolver_Precompile
>
{
public
:
enum
{
=
0
,
=
1
,
=
,
Instance_CollectInstanceTypes
=
2
,
Instance_CompileInstanceTypes
=
3
,
Instance_CollectEventHandlers
=
4
,
Instance_CompileEventHandlers
=
5
,
Instance_GenerateInstanceClass
=
6
,
Instance_CompileInstanceClass
=
7
,
=
Instance_CompileInstanceClass
,
};
enum
{
,
,
,
};
virtual
() =
0
;
virtual
(
) =
0
;
virtual
void
(
<
>
,
GuiResourcePrecompileContext
&
,
::
&
) =
0
;
virtual
void
(
GuiResourcePrecompileContext
&
,
::
&
) =
0
;
};
class
IGuiResourcePrecompileCallback
:
public
virtual
,
public
<
IGuiResourcePrecompileCallback
>
{
public
:
virtual
workflow
::
*
() =
0
;
virtual
void
(
) =
0
;
virtual
void
(
,
<
>
) =
0
;
};
struct
GuiResourceInitializeContext
:
GuiResourcePrecompileContext
{
;
};
class
IGuiResourceTypeResolver_Initialize
:
public
virtual
,
public
<
IGuiResourceTypeResolver_Initialize
>
{
public
:
virtual
() =
0
;
virtual
void
(
<
>
,
GuiResourceInitializeContext
&
,
::
&
) =
0
;
};
class
IGuiResourceTypeResolver_DirectLoadXml
:
public
virtual
,
public
<
IGuiResourceTypeResolver_DirectLoadXml
>
{
public
:
virtual
<
parsing
::
xml
::
>
(
<
>
,
<
>
) =
0
;
virtual
<
>
(
<
>
,
<
parsing
::
xml
::
>
,
::
&
) =
0
;
virtual
<
>
(
<
>
,
const
&
,
::
&
) =
0
;
};
class
IGuiResourceTypeResolver_DirectLoadStream
:
public
virtual
,
public
<
IGuiResourceTypeResolver_DirectLoadStream
>
{
public
:
virtual
void
(
<
>
,
<
>
,
stream
::
&
) =
0
;
virtual
<
>
ResolveResourcePrecompiled
(
<
>
,
stream
::
&
,
::
&
) =
0
;
};
class
IGuiResourceTypeResolver_IndirectLoad
:
public
virtual
,
public
<
IGuiResourceTypeResolver_IndirectLoad
>
{
public
:
virtual
() =
0
;
virtual
bool
() =
0
;
virtual
<
>
(
<
>
,
<
>
) =
0
;
virtual
<
>
(
<
>
,
<
>
,
::
&
) =
0
;
};
class
IGuiResourceResolverManager
:
public
,
public
<
IGuiResourceResolverManager
>
{
public
:
virtual
IGuiResourcePathResolverFactory
*
(
const
&
) =
0
;
virtual
bool
(
<
IGuiResourcePathResolverFactory
>
) =
0
;
virtual
*
(
const
&
) =
0
;
virtual
bool
(
<
>
) =
0
;
virtual
GetMaxPrecompilePassIndex
() =
0
;
virtual
GetMaxInitializePassIndex
() =
0
;
virtual
void
GetPerResourceResolverNames
(
,
collections
::
<
>&
) =
0
;
virtual
void
(
,
collections
::
<
>&
) =
0
;
};
extern
IGuiResourceResolverManager
*
GetResourceResolverManager
();
extern
void
(
const
char
**
,
bool
,
,
,
,
stream
::
&
);
}
}
#endif