کتابخانه گرافیکی دوبعدی در emWin
رابط گرافیکی emWin دارای یک کتابخانه ی گرافیکی کامل که برای اکثر برنامه های کاربردی کافی می باشد ، را شامل می شود.
روال عرضه شده با EmWin را میتوان به همراه خلاصه سازی یا بدون آن استفاده کرد .(اشاره به قسمت ویندوز منیجر) و اسال الگوریتم های آن سریع و کار آمد می باشند.
در حال حاضر تنها تابع () GUI_DrawArc نیاز به محاسبات اعشاری دارد.
حال هدف از آموزش این قسمت از emwin استفاده از توابع گرافیکی دو بعدی می باشد.
این کتابخانه دارای توابع متعددی است که شامل بر ۱۰۵ تابع می باشد. ابتدا هفت تابع اول در این جلسه بررسی شده و در جلسات بعد توابع هر گروه به طور مجزا بررسی می شوند.
۱:
void GUI_GetClientRect(GUI_RECT * pRect);
مستطیل سرویس گیرنده جاری به استفاده از ویندوز منیجر یا استفاده نکردن از آن بستگی دارد.
اگر از ویندوز منیجر استفاده شود ، تابع از برای بازسازی مستطیل استفاده میکند و اگر استفاده نشود ، مستطیل سرویس گیرنده برابر با کل صفحه نمایش خواهد بود.
۲:
GUI_DRAWMODE GUI_GetDrawMode(void);
مد ترسیم جاری را بر میگرداند.
۳:
U8 GUI_GetPenSize(void);
سایز قلم جاری را بر میگرداند.
۴:
unsigned GUI_GetPixelIndex(int x, int y);
از یک موقعیت داده شده شاخص رنگ را برمی گرداند.
۵:
void GUI_SetClipRect(const GUI_RECT * pRect);
مستطیل قطع را برای محدود کردن خروجی تنظیم می کند.
۶:
GUI_DRAWMODE GUI_SetDrawMode(GUI_DRAWMODE dm);
حالت ترسیم خاصی را انتخاب می کند. حالت ها به شرح زیر می باشند.
GUI_DM_NORMAL | پیش فرض
این حالت ، محتوای صفحه نمایش توسط گرافیک ترسیم می شود. |
GUI_DM_XOR | این حالت ، زمانی که ترسیم می کنیم محتوای صفحه نمایش را معکوس می کند. |
dm: حالت ترسیم
این تابع تنظیم ترسیم قبلی را نیز بر می گرداند.
۷:
U8 GUI_SetPenSize(U8 PenSize);
اندازه ی قلم را که برای طراحی توسط توابع دیگر مورد استفاده قرار می گیرد را بر می گرداند.
PenSize : اندازه ی سایز قلم به پیکسل
مقدار PenSize بایستی بزرگتر یا مساوی ۱ باشد. چون مقدار کوچکتر از یک برای سبک های تابع ها امکان پذیر نیست.
توابع زیر از مقدار سایز قلم تحت تاثیر قرار میگیرند :
GUI_DrawPoint() GUI_DrawLine() GUI_DrawLineRel() GUI_DrawLineTo() GUI_DrawPolyLine() GUI_DrawPolygon() GUI_DrawEllipse() GUI_DrawArc()