#include <clutter/clutter.h> #include <webkit/webkit.h> static WebkitAdjustment *hadj, *vadj; int main (int argc, char **argv) { ClutterActor *stage; WebKitWebView *view; if (argc < 2) return 1; clutter_init (&argc, &argv); hadj = webkit_adjustment_new (0,0,0,0,0,0); vadj = webkit_adjustment_new (0,0,0,0,0,0); stage = clutter_stage_get_default (); clutter_actor_set_size (stage, 800, 400); view = webkit_web_view_new (800, 400); webkit_web_view_set_scroll_adjustments (view, hadj, vadj); clutter_actor_set_position (view, 0, 0); clutter_actor_set_size (view, 800, 400); clutter_actor_set_reactive (view, TRUE); clutter_stage_set_key_focus (stage, view); clutter_container_add_actor (CLUTTER_CONTAINER (stage), view); webkit_web_view_open (view, argv[1]); clutter_actor_show_all (stage); clutter_main (); }程式列表最多的地方,主要是 clutter 的布局操作,先建立 ClutterActor,給予適當的尺寸與屬性,再來建立 WebKitWebView 的物件,將之放入剛剛的 clutter 容器中 (clutter 底層採用 GObject/GLib),最後呼叫關鍵的 webkit_web_view_open() 函式,這樣,一個網頁瀏覽器就完成了,重點是,這個 clutter 容器可任意置放於其他 2.5D 畫面中,要作絢麗的特效也是相當容易。以 Google Maps 來驗證目前開發的進度:
为什么你的snap运行configure需要clutter0.7?但我看最新的clutter是0.6嘛
由 wenhsuan 發表於 April 20, 2008 06:04 PM嗯,我看到了,正想来这里说一声
由 wenhsuan 發表於 April 20, 2008 08:22 PM我把clutter和webkit make&make install后,再编译你的test_webkit.c文件,出现了error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before xxxxxx错误,很怪异,你遇到过这种问题吗?
由 wenhsuan 發表於 April 21, 2008 10:01 PM@wenhsuan: 應該是 pkg-config 的設定沒處理好,而且你將關鍵的部份 mask 掉了,看不出所以然
由 jserv 發表於 April 21, 2008 10:52 PMjserv大大, 可否给出test-webkit.c的编译参数.
由 Drip-shui 發表於 September 24, 2008 10:49 AM * Build instructions:
* # gcc -o test-webkit \
* test-webkit2.c \
* `pkg-config --cflags --libs webkit-clutter-1.0 \
* cairo pangocairo clutter-cairo-0.7`
for clutter 0.7
在 clutter 0.8 後,請修改為 clutter-cairo-0.8
由 jserv 發表於 September 24, 2008 05:17 PM非常感谢您的帮助
我的实做是clutter-0.8, webkit-clutter-1.0
#!/bin/sh
LIBS=`pkg-config --libs clutter-0.8 webkit-clutter-1.0`
INCS=`pkg-config --cflags clutter-0.8 webkit-clutter-1.0`
PKG_CONFIG_PATH="/usr/lib /usr/local/lib"
gcc -o test-webkit test-webkit2.c ${INCS} ${LIBS}