Core Graphics
CoreGraphicsとは、Mac OS Xに標準搭載されている2D描画に関する低レベルなAPI群である。 PCエンジンコアグラフィックスやコア構想とは一切関係ない。
概要
CoreGraphicsはMac OS Xにおいて低レベルな2D描画を担当するAPI群である。WindowsでいうところのDirect2Dに相当するもので、Direct2Dが「まともな文字列描画」にDirectWriteを必要とするように、CoreGraphicsもまともな文字列描画にはCoreTextを必要するなど、挙動や構成的にも似ているところが多い。
古代のMac OS XではQuickDrawという2D描画のAPI群が使われてきたが、さすがに古臭くなったの近代的な仕様になり置き換えられたものである。この点もWindowsがGDIをDirect2Dで置き換えたのとよく似ている。
CoreGraphicsは低レベルなAPI群であるが、その一部には高レベルなAPI群も存在しており、それらは別途Quartz 2Dなどと呼ばれる。
また、なぜかCoreGraphicsにはMac OS Xのキーボードやマウスを監視したいり制御するAPI群も含まれている。 これらは常識的に考えればそれらはCoreFoundationに配置されるべきものであるはずだが、なぜそうなっているのかは三角形の秘密やプチエンジェル事件並みに闇が深いといわれており、真相を語るものはいない。
Core Graphicsの位置関係
CoreGraphics (2D) |
QuickDraw (2D) |
QuickTime (Multimedia) |
OpenGL (3D) |
Core Graphics Service (Window Server) | |||
Mach (Kernel) |