مکان نما
درemwin یک سیستم برای مکان نما وجود دارد که بوسیله ی آن می توان مکان نما را به شکل های از پیش تعریف شدۀ دیگر ، تغییر داد. همچنین emwin انیمیشن مکان نمای اتوماتیک را نیز پشتیبانی می کند. به طور پیش فرض مکان نما مخفی است ، در صورتی که همیشه وجود دارد .مکان نما به نمایش در نمی آید تا زمانیکه توسط یک تابع به نمایش در بیاید. و توسط تابع دیگری دوباره می توان آنرا مخفی کرد.
مکان نماهای در دسترس
سبک های مکان نماهای زیر در حال حاضر در دسترس می باشند. اگر تابع GUI_CURSOR_Show() فراخوانی شود مکان نما به نمایش در می آید و سبکی با تابع GUI_CURSOR_Select() مشخص نمی شود ، مکان نمای پیش فرض یک بردار متوسط (medium arrow) می باشد.
توابع مکان نما
جدول زیر فهرست توابع در دسترس مربوط به مکان نما را به ترتیب حروف نشان می دهد.
شرح زیر را دنبال کنید :
تابع | شرح تابع |
GUI_CURSOR_GetState() | وضعیت مکان نما را که قابل رویت است یا خیر را بر می گرداند |
GUI_CURSOR_Hide() | مکان نما را مخفی می کند |
GUI_CURSOR_Select() | با این تابع مکان نمای مخصوص میتوان تنظیم کرد |
GUI_CURSOR_SelectAnim() | می توان مکان نما را انیمیشنی کرد |
GUI_CURSOR_SetPosition() | موقعیت مکان نما را می توان تنظیم کرد |
GUI_CURSOR_Show() | مکان نما را به نمایش در می آورد |
۱)
تابع:
int GUI_CURSOR_GetState(void);
شرح تابع:
اگر مکان نما قابل رؤیت باشد ۱ و گرنه صفر را بر می گرداند.
۲)
تابع:
void GUI_CURSOR_Hide(void);
شرح تابع:
اگر مکان نما قابل رؤیت باشد آنرا مخفی می کند. به طور پیش فرض مکان نما مخفی است و برای به نمایش در آمدن آن بایستی از تابع GUI_CURSOR_Show() استفاده نمود.
۳)
تابع:
void GUI_CURSOR_Select(const GUI_CURSOR * pCursor);
شرح تابع:
توسط این تابع می توان استایل های مختلفی را برای مکان نما تنظیم کرد.
pCursor : اشاره گر به مکان نمای انتخاب شده.
مقادیر مجاز برای پارامتر pCursor | |
Small arrow. | GUI_CursorArrowS |
Medium arrow. | GUI_CursorArrowM |
Large arrow. | GUI_CursorArrowL |
Small inverted arrow. | GUI_CursorArrowSI |
Medium inverted arrow. | GUI_CursorArrowMI |
Large inverted arrow. | GUI_CursorArrowLI |
Small cross. | GUI_CursorCrossS |
Medium cross. | GUI_CursorCrossM |
Large cross. | GUI_CursorCrossL |
Small inverted cross. | GUI_CursorCrossSI |
Medium inverted cross. | GUI_CursorCrossMI |
Large inverted cross. | GUI_CursorCrossLI |
اگر این تابع فراخوانی نشود ، مکان نمای پیش فرض Medium arrow می شود.
۴)
تابع:
int GUI_CURSOR_SelectAnim(const GUI_CURSOR_ANIM * pCursorAnim);
شرح تابع:
pCursorAnim : اشاره گر به ساختار GUI_CURS_ANIM که برای انیمیشن استفاده می شود.
مقادیر مجاز برای پارامتر pCursorAnim | |
ساعت شنی متحرک، اندازه متوسط | GUI_CursorAnimHourglassM |
المنت های ساختار GUI_CURSOR_ANIM
نوع دیتا | المنت | شرح |
const GUI_BITMAP ** | ppBm | اشاره گر به آرایه ای از اشاره گرها به تصاویر بیت مپ برای استفاده در مکان نمای متحرک |
int | xHot | موقعیت X از نقطه اصلی. جزئیات در زیر آمده است |
int | yHot | موقعیت Y از نقطه اصلی. جزئیات در زیر آمده است |
unsigned | Period | دوره ای که استفاده خواهد شد برای سوییچ مابین تصاویر . |
unsigned * | pPeriod | اشاره گر به یک آرایه شامل دوره هایی که استفاده خواهد شد برای سوییچ مابین تصاویر . |
int | NumItems | تعداد تصاویر استفاده شده برای انیمیشن |
بیت مپ های آدرس داده شده توسط المنت ppBm احتیاج به رعایت موارد زیر می باشد:
بیت مپ های دیگر و یا حافظه ناکافی باعث می شود که تابع به شکست بانجامد.
اگر دوره برای تصاویر مختلف باشد فقط به pPeriod نیاز می باشد. اگر همان دوره باید برای همه تصاویر دوره استفاده می شود باید به جای pPeriod استفاده می شود. در این مورد pPeriod باید NULL باشد.
xHot و yHot موقعیت نقطه داغ را از مکان نما تعیین میکنند. این به این معنی موقعیت نسبی در X و Y از گوشه سمت چپ بالای تصویر به موقعیت دستگاه ورودی اشاره گر می باشد.
نشانگر سفارشی را می توان با عبور از یک اشاره گر به ساختار تعریف شده ی سفارشی GUI_CURSOR_ANIM تحقق یافت.
۵)
تابع:
void GUI_CURSOR_SetPosition(int x, int y);
شرح تابع:
موقعیت مکان نما را تنظیم می کند.
پارامتر | شرح |
x | موقعیت x مکان نما |
y | موقعیت y مکان نما |
به طور معمول این تابع توسط مدیر پنجره فرا خوانده می شود و نیازی به فراخوانی از برنامه نیست.
۶)
تابع:
void GUI_CURSOR_Show(void);
شرح تابع:
مکان نما را نمایش می دهد.
به طور پیش فرض مکان نما مخفی می باشد. برای به نماش در آمدن آن این تابع را فراخوانی کنید.