Device context adalah sebuah objek struktur data internal Windows yang banyak digunakan untuk menangani objek grafis. Semua yang tampak pada desktop semuanya terdiri atas kumpulan representatif dari device context.
Device Context, atau sering pula ditulis singkat sebagai DC merupakan objek yang bertanggung jawab mendeskripsikan elemen grafis di sistem Windows kita. Meskipun setiap unit warna dalam desktop terdiri atas piksel, kebanyakan sistem lebih suka memilih metode lain untuk menyimpan gambar tersebut. Alasannya, adalah karena ada banyak objek yang harus disimpan dalam RAM yang berkapasitas terbatas. Inilah mengapa device context ada. Jika sudah paham tentang perbedaan grafis bitmap dan vektor, maka grafis vektor ini adalah yang lebih banyak merepresentasikan tentang bagaimana si device context ini bekerja.
Sebagian besar elemen dasar di desktop umumnya disusun atas bidang-bidang sederhana yang tidak jauh dari garis, persegi atau lingkaran. Sebuah objek device context bisa diibaratkan sebagai resep. Yaitu sebuah resep untuk menciptakan sebuah objek gambar. Dalam resep tersebut terdapat deskripsi setiap detail partikel objek yang akan menyusun gambar seara utuh, berikut warna, atribut dan urutan gambar objek.
Cara ini lebih efektif daripada mendeskripsikan sebuah bidang yang terdiri atas piksel-piksel. Bayangkan, sebuah persegi 100 x 100 berkedalaman 32bpp saja dapat memakan memori 100 x 100 x 4 = 40.000 (40 KB). Dengan banyaknya aplikasi dan komponen GUI, menyimpan data secara eksplisit dengan piksel akan kurang efisien. Device context menjawab tantangan ini dengan menyediakan objek struktur data yang mendeskripsikan bidang yang ingin digambar.
Untuk menyimpan bentuk dan ukuran persegi yang sama, sebuah DC hanya butuh data beberapa byte untuk mendeskripsikan bidang tersebut, misalnya jenis objek, atribut panjang dan lebar, serta warna dari objek.
Contoh lainnya, apabila sebuah DC menyimpan objek grafis seperti di atas, maka di dalam objek DC tersebut akan terdapat data yang harus mendeskripsikan proses gambar elemen dengan benar:
1. Buat kanvas persegi x * y background putih
2. Gambar lingkaran di x dan y dengan ukuran w dan h, border n piksel hitam dan background kuning.
3. Buat 4 lingkaran (untuk mata) ...
4. Buat arc (untuk mulut) ...
Nah, sekarang sudah ada gambaran kan? Kira-kira seperti itulah DC. Kalau saja Windows itu open source, mungkin source codenya akan dijelaskan sekalian. Berhubung tidak demikian, mengkin sedikit tulisan ini akan memberikan gambaran mengenai DC tersebut.
0 comments