Files
sibo-playground/code/SIBOSDK/wkdemo/lcdcomm.c
2026-07-06 18:01:36 +01:00

63 lines
1.6 KiB
C

/*
File: LCDCOMM.C
Methods for Class: lcdcomm (Superclass: comman).
*/
#include <lcdtest.g>
#include <hwim.h>
#include <olib.h>
#include <lcdview.g>
#include <lcdcomm.g>
#include <lcddlgs.g>
#include <lcdtest.rsg>
#include <p_file.h>
#include <epoc.h>
GLREF_D PR_LCDCOMM *DatApp2; /* Command Manager */
GLREF_D PR_LCDVIEW *DatApp3; /* Main Client Window */
LOCAL_C INT lLaunchDlg(P_CATID cat,UINT class,UINT id,VOID *prbuf)
{
DL_DATA dl_data;
dl_data.id = id;
dl_data.rbuf = prbuf;
dl_data.pdlg = NULL;
return(hLaunchDial(cat,class,&dl_data));
}
LOCAL_C INT lLaunchDlgLcdtest(UINT class,UINT id,VOID *prbuf)
{ /* Launches an LCDTEST category dialog. */
return(lLaunchDlg(CAT_LCDTEST_LCDTEST,class,id,prbuf));
}
LOCAL_C INT lLaunchDlgLcdtestNull(UINT class,UINT id)
{ /* Launches a LCDTEST category dialog with rbuf set to NULL. */
return(lLaunchDlgLcdtest(class,id,NULL));
}
#pragma METHOD_CALL
METHOD VOID lcdcomm_com_init(PR_LCDCOMM *self)
{
DatApp2 = self;
self->lcdcomm.sound.duration = 5;
self->lcdcomm.sound.pitch = 320;
}
METHOD VOID lcdcomm_com_exit(PR_LCDCOMM *self)
{ /* Exit application. */
p_supersend2(self,O_COM_EXIT);
}
METHOD VOID lcdcomm_cm_backlight(PR_LCDCOMM *self)
{ /* Switch backlight on/off. */
lLaunchDlgLcdtestNull(C_LCD_BACKLIGHT,D_BACKLIGHT);
}
METHOD VOID lcdcomm_cm_sound(PR_LCDCOMM *self)
{ /* Make a beep by calling p_sound() */
lLaunchDlgLcdtest(C_LCD_SOUND,D_SOUND,&self->lcdcomm.sound);
}