বেসিক সি/Window
SDLOpen(flags)
সম্পাদনাকমান্ডটি SDL শুরু করে এবং গ্রাফিকাল উইন্ডো খোলে, এটি নিম্নলিখিতগুলি করে:
- SDL_Init কমান্ডের সাহায্যে SDL এবং এর সমস্ত উপাদান সূচনা করে, ব্যর্থ হলে, ত্রুটি 1 সহ প্রোগ্রামটি বন্ধ করে দেয়।
- SDL_CreateWindowAndRenderer কমান্ডের সাহায্যে উইন্ডোটি খোলে এবং তথাকথিত তৈরি করে রেন্ডারার, এরপরে প্রজেক্টর হিসাবে উল্লেখ করা হয়। উইন্ডোর মাত্রা WINDOWW এবং WINDOWH ধ্রুবক দ্বারা সংজ্ঞায়িত করা হয়, ডিফল্টরূপে 640x400 পিক্সেল। ফ্ল্যাগ প্যারামিটারে নীচে বর্ণিত উইন্ডো বৈশিষ্ট্য রয়েছে। উইন্ডো অবজেক্টের পয়েন্টারটিতে SDLWindow ভেরিয়েবল রয়েছে। প্রজেক্টর অবজেক্টের পয়েন্টারে SDLRenderer ভেরিয়েবল থাকে। একটি প্রজেক্টর হল একটি উইন্ডো অবজেক্ট যা হার্ডওয়্যার অ্যাক্সিলারেটেড গ্রাফিক্স প্রদর্শন করে। ডিফল্টরূপে, মনিটর রিফ্রেশের সাথে প্রজেক্টর সিঙ্ক্রোনাইজেশন সক্ষম করা আছে।
- প্রজেক্টরটি সাফ করে, যেমন এটিকে ডিফল্ট রঙ দিয়ে পূরণ করে - কালো, SDL_RenderClear কমান্ড দিয়ে।
- পাঠ্য ইনপুট মোড বন্ধ করে।
- স্ট্রাকচার ভেরিয়েবল ডিসপ্লেতে ডিসপ্লে প্যারামিটার সংরক্ষণ করে।
- SDL_JoystickOpen কমান্ডের সাহায্যে উপলব্ধ জয়স্টিকগুলি শুরু করে। তাদের সর্বাধিক সংখ্যক MAXJOYS ধ্রুবক, ডিফল্টরূপে 4 সংরক্ষণ করা হয়।
- প্রথম টাচ ডিভাইসের পয়েন্টারে SDLTouchID ভেরিয়েবল বরাদ্দ করে।
- যদি SDL_mixer লাইব্রেরি অন্তর্ভুক্ত থাকে তবে Mix_OpenAudio কমান্ডের সাথে ডিফল্ট পরামিতি সহ সাউন্ড মিক্সার শুরু করে।
- SDL_LoadBMP কমান্ড বিটম্যাপ ফন্ট ধারণকারী BASFont.bmp ইমেজ লোড করে এবং এর স্বচ্ছতা সেট করে। এই ছবিটি তথাকথিত রূপান্তরিত হয় টেক্সচার এবং BASFont ভেরিয়েবলে বরাদ্দ করা হয়েছে।
- SDL_ttf অন্তর্ভুক্ত থাকলে TTF ফন্ট সমর্থন শুরু করে।
ফ্ল্যাগ প্যারামিটারটি বিটওয়াইজ বিকল্প (|):
দ্বারা যুক্ত হওয়া মানগুলির মধ্যে একটি হতে পারে
SDL_WINDOW_FULLSCREEN পূর্ণ স্ক্রীন উইন্ডো৷
৷
বর্তমান ডেস্কটপ রেজোলিউশনে SDL_WINDOW_FULLSCREEN_DESKTOP পূর্ণ স্ক্রীন উইন্ডো৷
OpenGL প্রসঙ্গে ব্যবহারের জন্য SDL_WINDOW_OPENGL উইন্ডো৷
৷
SDL_WINDOW_HIDDEN লুকানো উইন্ডো৷
৷
সংযোজন ছাড়াই SDL_WINDOW_BORDERLESS উইন্ডো৷
৷
SDL_WINDOW_RESIZABLE উইন্ডোটির আকার পরিবর্তন করা সম্ভব৷
৷
SDL_WINDOW_MINIMIZED উইন্ডো ছোট করা হয়েছে৷
৷
SDL_WINDOW_MAXIMIZED সর্বাধিক উইন্ডো৷
৷
ইনপুট ফোকাস ক্যাপচার সহ SDL_WINDOW_INPUT_GRABBED উইন্ডো৷
SDL_WINDOW_ALLOW_HIGHDPI উইন্ডো হাই-ডিপিআই মোডে তৈরি করা উচিত, যদি সমর্থিত হয়।
BasicC শুধুমাত্র 1 উইন্ডো সমর্থন করে। আরো উইন্ডোজ স্ট্যান্ডার্ড SDL কমান্ড দিয়ে চালানো যেতে পারে।
সাধারণ উইন্ডোজ সমর্থন করে না এমন সিস্টেমে, যেমন অ্যান্ড্রয়েড, উইন্ডোতে WINDOWW এবং WINDOWH মান নির্বিশেষে সমগ্র ডেস্কটপের মাত্রা থাকে৷
প্রোগ্রাম থেকে প্রস্থান করার আগে, তৈরি করা SDL অবজেক্টগুলি সরিয়ে ফেলুন, যেমন ছবি (টেক্সচার), এবং SDLQuit কমান্ড দিয়ে SDL বন্ধ করুন।
GetDisplayMode
সম্পাদনাSDL_GetCurrentDisplayMode (0, এবং প্রদর্শন);
কমান্ডটি চালু করে
ডিসপ্লে (মনিটর) প্যারামিটারগুলি ডিসপ্লে ভেরিয়েবলে সংরক্ষিত হয়:
Display.w - অনুভূমিক রেজোলিউশন
Display.h - উল্লম্ব রেজোলিউশন
Display.refresh_rate - রিফ্রেশ রেট
Display.driverdata - গ্রাফিক্স ড্রাইভার ডেটা
CenterWindow
সম্পাদনাSDL_SetWindowPosition (SDLWindow, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED) কমান্ড দিয়ে উইন্ডোটিকে পর্দার মাঝখানে রাখুন;
CloseWindow
সম্পাদনাSDL_DestroyWindow (SDL_Window) কমান্ড দিয়ে উইন্ডোটি মুছে দেয়;
FullscreenWindow
সম্পাদনাSDL_SetWindowFullscreen (SDLWindow, SDL_WINDOW_FULLSCREEN_DESKTOP) কমান্ড দিয়ে ফ্রেমহীন উইন্ডোটিকে ডেস্কটপের আকারে বড় করে;
GetWindowSize (w, h)
সম্পাদনাSDL_GetWindowSize (SDLWindow, & w, & h) কমান্ড দিয়ে w এবং h ভেরিয়েবলে প্রধান উইন্ডোর মাত্রা লেখে।
MaximizeWindow
সম্পাদনাSDL_MaximizeWindow (SDLWindow) কমান্ডের সাহায্যে উইন্ডোটিকে ডেস্কটপের আকারে (ফ্রেম সহ) বড় করে;
MinimizeWindow
সম্পাদনাSDL_MinimizeWindow (SDLWindow) কমান্ড দিয়ে উইন্ডোটি ছোট করে;
RestoreWindow
সম্পাদনাSDL_RestoreWindow (SDLWindow) কমান্ডের সাহায্যে পূর্ববর্তী উইন্ডোর আকার পুনরুদ্ধার করে;
WindowPos(x, y)
সম্পাদনাSDL_SetWindowPosition (SDLWindow, x, y) কমান্ডের সাহায্যে উইন্ডোটিকে x, y অবস্থানে সেট করে;
WindowSize(w,h)
সম্পাদনাSDL_SetWindowSize কমান্ড (SDLWindow, w, h) দিয়ে উইন্ডোর প্রস্থ w এবং উচ্চতা h সেট করে;
WindowVirtualSize(w,h)
সম্পাদনাSDL_RenderSetLogicalSize (SDLRenderer, w, h);
দিয়ে উইন্ডোর ভার্চুয়াল প্রস্থ w এবং উচ্চতা h সেট করে
যে কোনও আকারের একটি উইন্ডোকে w, h আকারের হিসাবে বিবেচনা করা হয়। সেই অনুযায়ী গ্রাফিক স্থানাঙ্ক স্কেল করে।
উদাহরণ:
#include "BasicSDL.h"
MAIN
SDLOpen(0)
GetDisplayMode
WindowSize(Display.w/2,Display.h/2)
CenterWindow
GPrintAt(300,300,"BasicC")
ShowPage
WaitInKey
SDLQuit
ENDMAIN