বিষয়বস্তুতে চলুন

বেসিক সি/প্রজেক্টর

উইকিবই থেকে

ColorRGBA(r, g, b, a)

[সম্পাদনা]

RGBA বিন্যাসে অঙ্কনের রঙ সেট করে। এটি Cls, Plot, Line... প্রযোজ্য নয় যেমন কমান্ডের ক্ষেত্রে প্রযোজ্য, উদাহরণস্বরূপ, GPrint, যার জন্য রঙ আলাদাভাবে সেট করা আছে। এটি মৌলিক এবং দ্রুততম রঙ সেটিং কমান্ড৷
৷ দ্রষ্টব্য: কমান্ডটি কালার ভেরিয়েবলের মান পরিবর্তন করে না।

Uint32 (পূর্ণসংখ্যা, ধনাত্মক, 32-বিট) সংখ্যা বিন্যাসে অঙ্কনের রঙ সেট করে। ব্যবহৃত রঙ পরিবর্তনশীল, উদাহরণস্বরূপ, TTF টাইপিংয়ের জন্য, এটিও সেট করা আছে।

এই ফরম্যাটের মধ্যে রূপান্তরের জন্য, BASSDLcolor ইউনিয়ন বেসিকSDL-এ Uint32 BAS এবং SDL_Color SDL ক্ষেত্রের সাথে ঘোষণা করা হয়।

SDL_Color হল একটি স্ট্রাকচার যা RGBA রঙকে ক্ষেত্রগুলির সাথে সংরক্ষণ করে:

Uint8 r রেড কম্পোনেন্ট 0-255 রেঞ্জে
Uint8 গ্রাম সবুজ উপাদান 0-255 পরিসরে
Uint8 b নীল কম্পোনেন্ট রেঞ্জ 0-255
Uint8 এবং আলফা উপাদান (স্বচ্ছতা) 0-255 পরিসরে

উপরন্তু, BasicSDL TTF টেক্সট প্রদর্শনের জন্য ব্যবহৃত BASSDLCcolor প্রকারের সহায়ক ভেরিয়েবল Color, ColorB, ColorC ঘোষণা করে। যদি একটি রঙ একটি একক সংখ্যা দিয়ে লেখা হয়, এটিকে উল্লেখ করা হয় যেমন Color.BAS দ্বারা, যেমন Color.BAS = 65535;, যদি RGBA ফর্ম্যাটে হয়: Color.SDL.r, Color.SDL.g, Color.SDL.b , Color.SDL. এবং.

সংখ্যা বিন্যাসে রঙ এবং ColorB ভেরিয়েবল সেট করে, যেমন {Color.BAS = F; ColorB.BAS = B;}

ColorSDL(R, G, B, A)

[সম্পাদনা]

কালার ভেরিয়েবলের r gb কম্পোনেন্ট সেট করে, সেটি হল {Color.SDL.r = R; Color.SDL.g = G; Color.SDL.b = B; Color.SDL.a = A;}

ColorBSDL(R, G, B, A)

[সম্পাদনা]

ColorB এর আগে যেমন, {ColorB.SDL.r = R; ColorB.SDL.g = G; ColorB.SDL.b = B; ColorB.SDL.a = A;}

RGBA(R, G, B, A)

[সম্পাদনা]

ফাংশনটি RGBA ফরম্যাটে প্রদত্ত রঙের সংখ্যা প্রদান করে এবং ColorC মান সেট করে। এক্সিকিউট করে {ColorC.SDL.r = R; ColorC.SDL.g = G; ColorC.SDL.b = B; ColorC.SDL.a = A; return ColorC.BAS;}

পর্দা সাফ করে। সঠিকভাবে প্রজেক্টর (বা অন্যান্য লক্ষ্য) পূর্বে নির্বাচিত রঙ (ডিফল্টরূপে কালো) দিয়ে পূরণ করে। পর্যায়ক্রমে স্ক্রীনটি পরিষ্কার করার এবং পুরো দৃশ্যটি আবার তৈরি করার পরামর্শ দেওয়া হয়। SDL_RenderClear (SDLRenderer) চালায়;

IntScaling(enable)

[সম্পাদনা]

যখন সক্ষম 1 হয়, কমান্ডটি রেজোলিউশন-স্বাধীন অঙ্কনে সমস্ত-স্কেলিং চালু করে, যখন 0 - এটি বন্ধ করে। SDL_RenderSetIntegerScale (SDLRenderer, enable);

SetScale(x, y)

[সম্পাদনা]

অঙ্কনের জন্য স্কেলিং ফ্যাক্টর সেট করে। SDL_RenderSetScale (SDLRenderer, স্কেলএক্স, স্কেলওয়াই) কল করে;

Clip(X, Y, W, H)

[সম্পাদনা]

আঁকার জন্য এলাকা সেট করে। এই এলাকার বাইরের বস্তুগুলি প্রদর্শিত হবে না৷ চালায় {DST.x = X; DST.y = Y; DST.w = W; DST.h = H; SDL_RenderSetClipRect (SDLRenderer, & DST);}
ক্লিপিং অক্ষম করতে, SDL_RenderSetClipRect (SDLRenderer, NULL) কল করুন;

SetDrawBlendMode (Mode)

[সম্পাদনা]

অঙ্কন ক্রিয়াকলাপের জন্য ব্যবহার করার জন্য মিশ্রণ মোড সেট করে (যেমন লাইন)। সবচেয়ে জনপ্রিয় হল SDL_BLENDMODE_BLEND অর্থাৎ 1, 0 কোন হ্যাশ নয়। এটি SDL_SetRenderDrawBlendMode (SDLRenderer, Mode) কল করে;, বিস্তারিত জানার জন্য ডকুমেন্টেশন দেখুন।

প্রজেক্টরের বিষয়বস্তু প্রদর্শন করে, অর্থাৎ উইন্ডো ভিউ রিফ্রেশ করে। VSYNC 1 (ডিফল্ট) হলে মনিটর স্ক্রীন রিফ্রেশ না হওয়া পর্যন্ত প্রোগ্রামটি বিরতি দেওয়া হয়। SDL_RenderPresent (SDLRenderer) কল করে;

Viewport(X, Y, W, H)

[সম্পাদনা]

অঙ্কন এলাকা সেট করে। চালায় {DST.x = X; DST.y = Y; DST.w = W; DST.h = H; SDL_RenderSetViewport (SDLRenderer, & DST);}

উদাহরণ:

#include "BasicSDL.h"

MAIN
  SDLOpen(0)
  Color(-255)
  Viewport(100,100,300,300)
  Circle(50,50,100)
  PRect(50,100,50,50)
  Color(255)
  PRect(75,125,50,50)
  SetScale(2,2)
  Circle(50,50,100)
  SetDrawBlendMode(1)
  ColorRGBA(255,255,0,127)
  PRect(0,0,50,60)
  ShowPage
  WaitInKey
  SDLQuit
ENDMAIN