3
탭, 버튼, 검색 주소창과 같은 맞춤형 사용자 인터페이스는 모든 플랫폼에서 동일하게 보입니다. 어떻게 이루어 집니까? 그것은 플랫폼 종속적 인 UI가 사용 된 것처럼 보이지 않습니다.Google 크롬 UI는 어떻게 작동합니까?
탭, 버튼, 검색 주소창과 같은 맞춤형 사용자 인터페이스는 모든 플랫폼에서 동일하게 보입니다. 어떻게 이루어 집니까? 그것은 플랫폼 종속적 인 UI가 사용 된 것처럼 보이지 않습니다.Google 크롬 UI는 어떻게 작동합니까?
크롬은 Skia를 사용합니다. 여기에 예제 (GTK + 3, 카이로, 라이브러리에 의존)입니다 :
는g_signal_connect(window_container_, "draw",
G_CALLBACK(OnWindowContainerDraw), NULL);
gboolean OnWindowContainerDraw(GtkWidget* widget,
cairo_t *cr) {
SkBitmap bitmap;
bitmap.setConfig(SkBitmap::kARGB_8888_Config, 100, 100);
bitmap.allocPixels();
SkDevice device(bitmap);
SkCanvas canvas(&device);
SkPaint paint;
SkRect r;
paint.setARGB(255, 255, 255, 255);
r.set(10, 10, 20, 20);
canvas.drawRect(r, paint);
cairo_surface_t* surface = cairo_image_surface_create_for_data(
(unsigned char*)bitmap.getPixels(), CAIRO_FORMAT_ARGB32,
bitmap.width(), bitmap.height(), bitmap.rowBytes());
cairo_surface_mark_dirty(surface);
cairo_set_source_surface(cr, surface, 0, 0);
cairo_paint(cr);
return FALSE;
}
의
가능한 중복 [? 어떤 GUI 라이브러리는 구글 크롬을 사용합니까이 (http://stackoverflow.com/questions/874609/which-gui-library -do-google-chrome-use) –
이 질문은 GUI/WM이 아닌 크로스 플랫폼 드로잉 라이브러리에 맞춰 졌다고 생각합니다. – brooksbp