مکان نما در emwin

فونت ها در emwin
فونت ها در emwin (جلسه ی اول)
نوامبر 5, 2016
ایجاد کد QR با emwin
فوریه 8, 2017

مکان نما

در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 احتیاج به رعایت موارد زیر می باشد:

  • آنها باید همان سایز x و y  را داشته باشند.
  • نباید فشرده سازی شده باشند.
  • آنها باید ترنسپرنت (شفاف سازی شده) باشند.
  • آنها نیاز به بیت مپ بر اساس پالت با ۱، ۲، ۴ و یا ۸bpp دارند

بیت مپ های دیگر و یا حافظه ناکافی باعث می شود که تابع به شکست بانجامد.

اگر دوره برای تصاویر مختلف باشد فقط به 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);

شرح تابع:

مکان نما را نمایش می دهد.

به طور پیش فرض مکان نما مخفی می باشد. برای به نماش در آمدن آن این تابع را فراخوانی کنید.

حسین
حسین
من 28 سال سن دارم و رشته ی تحصیلی ام مهندسی برق قدرت بوده علاوه بر برق علاقمند به دنیای الکترونیک ، برنامه نویسی و طراحی وب هستم . این سایت رو برای آموزش رابط گرافیکی emWin راه اندازی کردم که بدون کمک شما جلو رفتن غیر ممکنه پس اگه آموزش یا مطالب مرتبطی دارید برام ایمیل کنید تا به اسم خودتون توی سایت منتشر بشه. hosseintomari@gmail.com
اشتراک
اطلاع از
guest

0 نظرات
بازخورد داخلی
مشاهده همه نظرات
0
برای بهبود مطالب، لطفاً نظر بدهید.x