#include "GUI.h"
void
Animation_onPreCreate(NOTXSPROC LPPERLWIN32GUI_CREATESTRUCT perlcs) {
perlcs->cs.lpszClass = ANIMATE_CLASS;
perlcs->cs.style = WS_VISIBLE | WS_CHILD;
}
BOOL
Animation_onParseOption(NOTXSPROC
char
*option, SV* value, LPPERLWIN32GUI_CREATESTRUCT perlcs) {
BOOL
retval = TRUE;
if
BitmaskOptionValue(
"-autoplay"
, perlcs->cs.style, ACS_AUTOPLAY)
}
else
if
BitmaskOptionValue(
"-center"
, perlcs->cs.style, ACS_CENTER)
}
else
if
BitmaskOptionValue(
"-transparent"
, perlcs->cs.style, ACS_TRANSPARENT)
}
else
retval = FALSE;
return
retval;
}
void
Animation_onPostCreate(NOTXSPROC
HWND
myhandle, LPPERLWIN32GUI_CREATESTRUCT perlcs) {
}
BOOL
Animation_onParseEvent(NOTXSPROC
char
*name,
int
* eventID) {
BOOL
retval = TRUE;
if
Parse_Event(
"Start"
, PERLWIN32GUI_NEM_CONTROL1)
else
if
Parse_Event(
"Stop"
, PERLWIN32GUI_NEM_CONTROL2)
else
retval = FALSE;
return
retval;
}
int
Animation_onEvent (NOTXSPROC LPPERLWIN32GUI_USERDATA perlud,
UINT
uMsg,
WPARAM
wParam,
LPARAM
lParam) {
int
PerlResult = 1;
if
( uMsg == WM_COMMAND ) {
switch
(HIWORD(wParam)) {
case
ACN_START:
PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_CONTROL1,
"Start"
, -1 );
break
;
case
ACN_STOP:
PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_CONTROL2,
"Stop"
, -1 );
break
;
}
}
return
PerlResult;
}
MODULE = Win32::GUI::Animation PACKAGE = Win32::GUI::Animation
PROTOTYPES: DISABLE
#pragma message( "*** PACKAGE Win32::GUI::Animation..." )
###########################################################################
# (@)METHOD:Open(FILE)
# Opens an AVI clip and displays its first frame in an animation control.
BOOL
Open(handle,file)
HWND
handle
char
* file
CODE:
RETVAL = Animate_Open(handle, (
LPSTR
) file);
OUTPUT:
RETVAL
###########################################################################
# (@)METHOD:OpenEx(FILE,[INSTANCE=NULL])
# Opens an AVI clip from a resource in a specified module and displays its first frame in an animation control.
BOOL
OpenEx(handle,file,instance=NULL)
HWND
handle
SV * file
HINSTANCE
instance
PREINIT:
LPSTR
name;
CODE:
if
(SvIOK(file))
name = MAKEINTRESOURCE ((
WORD
) SvIV(file));
else
if
(SvPOK(file))
name = SvPV_nolen(file);
else
name = NULL;
if
(name != NULL)
RETVAL = Animate_OpenEx(handle, instance, (
LPSTR
) file);
else
RETVAL = FALSE;
OUTPUT:
RETVAL
###########################################################################
# (@)METHOD:Close()
# Closes an AVI clip and displays its first frame in an animation control
BOOL
Close(handle)
HWND
handle
CODE:
RETVAL = Animate_Close(handle);
OUTPUT:
RETVAL
###########################################################################
# (@)METHOD:Play([FROM], [TO], [REPEAT])
# Plays an AVI clip in an animation control.
BOOL
Play(handle,from=0,to=(
UINT
)-1,repeat=(
UINT
)-1)
HWND
handle
UINT
from
UINT
to
UINT
repeat
CODE:
RETVAL = Animate_Play(handle, from, to, repeat);
OUTPUT:
RETVAL
###########################################################################
# (@)METHOD:Stop()
# Stops playing an AVI clip in an animation control.
BOOL
Stop(handle)
HWND
handle
CODE:
RETVAL = Animate_Stop(handle);
OUTPUT:
RETVAL
###########################################################################
# (@)METHOD:Seek(FRAME)
# Directs an animation control to display a particular frame of an AVI clip.
BOOL
Seek(handle,frame)
HWND
handle
UINT
frame
CODE:
RETVAL = Animate_Seek(handle, frame);
OUTPUT:
RETVAL