40 #include <nuttx/config.h> 44 #include <nuttx/nx/nxglib.h> 99 bool nxConnected = CNxServer::connect();
184 CNxServer::disconnect();
267 for (
int i =
m_slots.size() - 1; i >= 0; i--)
277 ginfo(
"m_topApp=%p topIndex=%d\n",
m_topApp, topIndex);
281 for (
int i = 0; i <
m_slots.size(); )
285 ginfo(
"Starting app[%d]\n", i);
312 ginfo(
"Hiding app[%d]\n", i);
319 ginfo(
"Showing app[%d]\n", i);
460 #ifdef CONFIG_NXWM_TASKBAR_ICONSCALE 468 struct nxgl_size_s iconSize;
469 iconSize.w = CONFIG_NXWM_TASKBAR_ICONWIDTH;
470 iconSize.h = CONFIG_NXWM_TASKBAR_ICONHEIGHT;
486 #ifdef CONFIG_NXWM_TASKBAR_ICONSCALE 692 for (
int i = 0; i <
m_slots.size(); i++)
697 if (candidate == app)
702 delete m_slots.at(i).image->getBitmap();
757 #if defined(CONFIG_NXWM_UNITTEST) && !defined(CONFIG_NXWM_TOUCHSCREEN) 768 struct nxgl_size_s imageSize;
771 struct nxgl_point_s imagePos;
778 image->
click(imagePos.x + (imageSize.w >> 1),
779 imagePos.y + (imageSize.h >> 1));
783 image->
release(imagePos.x + (imageSize.w >> 1),
784 imagePos.y + (imageSize.h >> 1));
826 bool success = window->
open();
863 bool success = window->
open();
886 struct nxgl_size_s displaySize;
892 struct nxgl_point_s pos;
893 struct nxgl_size_s size;
902 size.w = displaySize.w;
903 size.h = displaySize.h;
907 #if defined(CONFIG_NXWM_TASKBAR_TOP) 909 pos.y = CONFIG_NXWM_TASKBAR_WIDTH;
911 size.w = displaySize.w;
912 size.h = displaySize.h - CONFIG_NXWM_TASKBAR_WIDTH;
913 #elif defined(CONFIG_NXWM_TASKBAR_BOTTOM) 917 size.w = displaySize.w;
918 size.h = displaySize.h - CONFIG_NXWM_TASKBAR_WIDTH;
919 #elif defined(CONFIG_NXWM_TASKBAR_LEFT) 920 pos.x = CONFIG_NXWM_TASKBAR_WIDTH;
923 size.w = displaySize.w - CONFIG_NXWM_TASKBAR_WIDTH;
924 size.h = displaySize.h;
929 size.w = displaySize.w - CONFIG_NXWM_TASKBAR_WIDTH;
930 size.h = displaySize.h;
962 struct nxgl_size_s displaySize;
968 struct nxgl_point_s pos;
969 struct nxgl_size_s size;
971 #if defined(CONFIG_NXWM_TASKBAR_TOP) 975 size.w = displaySize.w;
976 size.h = CONFIG_NXWM_TASKBAR_WIDTH;
977 #elif defined(CONFIG_NXWM_TASKBAR_BOTTOM) 979 pos.y = displaySize.h - CONFIG_NXWM_TASKBAR_WIDTH;
981 size.w = displaySize.w;
982 size.h = CONFIG_NXWM_TASKBAR_WIDTH;
983 #elif defined(CONFIG_NXWM_TASKBAR_LEFT) 987 size.w = CONFIG_NXWM_TASKBAR_WIDTH;
988 size.h = displaySize.h;
990 pos.x = rect.getWidgth() - CONFIG_NXWM_TASKBAR_WIDTH;
993 size.w = CONFIG_NXWM_TASKBAR_WIDTH;
994 size.h = displaySize.h;
1038 #ifndef CONFIG_NXWM_DISABLE_BACKGROUND_IMAGE 1041 struct nxgl_size_s windowSize;
1063 struct nxgl_size_s imageSize;
1065 imageSize.h = (nxgl_coord_t)bitmap->
getHeight();
1069 struct nxgl_point_s imagePos;
1070 if (imageSize.w >= windowSize.w)
1076 imagePos.x = (windowSize.w - imageSize.w) >> 1;
1079 if (imageSize.h >= windowSize.h)
1085 imagePos.y = (windowSize.h - imageSize.h) >> 1;
1091 imageSize.w, imageSize.h, bitmap);
1131 struct nxgl_size_s windowSize;
1146 CONFIG_NXWM_DEFAULT_BACKGROUNDCOLOR);
1148 #ifndef CONFIG_NXWM_TASKBAR_NO_BORDER 1152 CONFIG_NXWM_DEFAULT_SHINEEDGECOLOR,
1153 CONFIG_NXWM_DEFAULT_SHADOWEDGECOLOR);
1158 struct nxgl_point_s taskbarPos;
1159 #if defined(CONFIG_NXWM_TASKBAR_TOP) || defined(CONFIG_NXWM_TASKBAR_BOTTOM) 1160 taskbarPos.x = CONFIG_NXWM_TASKBAR_HSPACING;
1164 taskbarPos.y = CONFIG_NXWM_TASKBAR_VSPACING;
1169 for (
int i = 0; i <
m_slots.size(); i++)
1191 struct nxgl_point_s iconPos;
1193 #if defined(CONFIG_NXWM_TASKBAR_TOP) || defined(CONFIG_NXWM_TASKBAR_BOTTOM) 1197 iconPos.x = taskbarPos.x;
1198 iconPos.y = taskbarPos.y + CONFIG_NXWM_TASKBAR_VSPACING;
1202 iconPos.x = (windowSize.w - rect.
getWidth()) >> 1;
1203 iconPos.y = taskbarPos.y;
1208 (void)image->
moveTo(iconPos.x, iconPos.y);
1218 #if defined(CONFIG_NXWM_TASKBAR_TOP) || defined(CONFIG_NXWM_TASKBAR_BOTTOM) 1221 taskbarPos.x += rect.
getWidth() + CONFIG_NXWM_TASKBAR_HSPACING;
1222 if (taskbarPos.x > windowSize.w)
1229 taskbarPos.y += rect.
getHeight() + CONFIG_NXWM_TASKBAR_VSPACING;
1230 if (taskbarPos.y > windowSize.h)
1264 for (
int i =
m_slots.size() - 1; i >= 0; i--)
1335 struct nxgl_size_s windowSize;
1348 CONFIG_NXWM_DEFAULT_BACKGROUNDCOLOR);
1353 CONFIG_NXWM_DEFAULT_SHINEEDGECOLOR,
1354 CONFIG_NXWM_DEFAULT_SHADOWEDGECOLOR);
1456 for (
int i = 0; i <
m_slots.size(); i++)
bool getSize(FAR struct nxgl_size_s *pSize)
void handleActionEvent(const NXWidgets::CWidgetEventArgs &e)
virtual void hide(void)=0
bool isClicked(void) const
virtual bool redrawBackgroundWindow(void)
NXWidgets::CImage * image
const nxgl_coord_t getHeight(void) const
bool startWindowManager(void)
nxgl_coord_t getHeight(void) const
CGraphicsPort * getGraphicsPort(void)
bool topApplication(IApplication *app)
bool moveTo(nxgl_coord_t x, nxgl_coord_t y)
void raiseTopApplication(void)
void disableDrawing(void)
void setRaisesEvents(bool raises)
nxgl_coord_t getWidth(void) const
void drawBevelledRect(nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t width, nxgl_coord_t height, nxgl_mxpixel_t shineColor, nxgl_mxpixel_t shadowColor)
bool startApplication(IApplication *app, bool minimized)
bool stopApplication(IApplication *app)
bool redrawApplicationWindow(IApplication *app)
virtual IApplicationWindow * getWindow(void) const =0
virtual bool raise(void)=0
bool isTopApplication(void) const
CApplicationWindow * openApplicationWindow(uint8_t flags=0)
bool isMinimized(void) const
virtual const nxgl_coord_t getHeight(void) const =0
NXWidgets::CImage * m_backImage
const nxgl_coord_t getWidth(void) const
bool setPosition(FAR const struct nxgl_point_s *pPos)
void hideApplicationWindow(IApplication *app)
void highlight(bool highlightOn)
void getPreferredDimensions(CRect &rect) const
virtual bool createBackgroundWindow(void)
bool setBackgroundColor(nxgl_mxpixel_t color)
virtual void stop(void)=0
NXWidgets::CNxWindow * m_background
virtual void hide(void)=0
virtual bool click(nxgl_coord_t x, nxgl_coord_t y)
virtual bool redrawTopApplication(void)
virtual NXWidgets::IBitmap * getIcon(void)=0
bool minimizeApplication(IApplication *app)
void getDisplaySize(FAR struct nxgl_size_s &size)
virtual bool redrawTaskbarWindow(void)
void getPos(struct nxgl_point_s &pos) const
NXWidgets::CNxWindow * openRawWindow(void)
void setTopApplication(bool topapp)
void addWidgetEventHandler(CWidgetEventHandler *eventHandler)
bool setSize(FAR const struct nxgl_size_s *pSize)
void clickIcon(int index, bool click)
CFullScreenWindow * openFullScreenWindow(void)
virtual bool createTaskbarWindow(void)
void getSize(struct nxgl_size_s &size) const
virtual NXWidgets::INxWindow * getWindow(void) const =0
virtual bool createBackgroundImage(void)
CNxTkWindow * createFramedWindow(CWidgetControl *widgetControl)
void drawFilledRect(nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t width, nxgl_coord_t height, nxgl_mxpixel_t color)
NXWidgets::CNxWindow * m_taskbar
CNxWindow * createRawWindow(CWidgetControl *widgetControl)
CRect getWindowBoundingBox(void)
void setApplicationGeometry(NXWidgets::INxWindow *window, bool fullscreen)
void getSize(struct nxgl_size_s &size) const
virtual bool setPosition(FAR const struct nxgl_point_s *pPos)=0
virtual bool setSize(FAR const struct nxgl_size_s *pSize)=0
bool initWindowManager(void)
virtual const nxgl_coord_t getWidth(void) const =0
TNxArray< struct STaskbarSlot > m_slots
virtual void redraw(void)=0
virtual bool isFullScreen(void) const =0
const nxgl_coord_t getWidth(void) const
CWidgetControl * getWidgetControl(void) const
static const NXWidgets::SRlePaletteBitmapEntry bitmap[]
virtual void destroy(void)=0
bool release(nxgl_coord_t x, nxgl_coord_t y)
NXWidgets::CNxTkWindow * openFramedWindow(void)
void setMinimized(bool minimized)
const nxgl_coord_t getHeight(void) const
bool maximizeApplication(IApplication *app)
void setBorderless(bool isBorderless)
virtual void redraw(void)=0