Theppitak's blog

My personal blog.

21 สิงหาคม 2548

Cairo Show-off

ไม่ได้เขียน blog ไปเกือบสามอาทิตย์เลยหรือนี่ งานรัดตัวมากครับช่วงนี้ แทบจะไม่มีวันหยุดเลย

ในที่สุด GTK+ 2.8 (stable version) ก็ ออกมาแล้ว เมื่ออาทิตย์ก่อน เพื่อรองรับ GNOME 2.12 ที่จะออกในต้นเดือนหน้า แต่ผมซึ่งใช้ GNOME/GTK+ จาก CVS มาตลอด ก็ยังไม่เคยลอง Cairo support ใน GTK+ รุ่นใหม่นี้เลย เพราะหมู่นี้ไม่มีเวลาเล่นโน่นเล่นนี่เท่าไร แต่จำได้ลางๆ ว่า มีใครที่ GNOME เคยพูดถึง cairo-gtk-engine ที่ Owen เคยใช้ demo ว่าแล้วก็เลยลอง checkout และ build โดยผ่าน jhbuild

$ jhbuild buildone -a cairo-gtk-engine

จบปุ๊บ จะได้ GTK+ theme ชุด Caligula มาให้เลือก มี Caligula-grassy, Caligula-sketchy, Caligula-swirly ซึ่งใช้ cairo-gtk-engine เป็น theme engine โดยจะวาดปุ่มแต่ละปุ่มแบบสุ่มให้เกิดความแตกต่างเล็กน้อย และคงจะใช้ cairo ทำ image composition แบบ real-time โดยใช้ X Render extension ที่ X server เพื่อความเร็วในการประมวลผล

Cairo-GTK+ Caligula Swirly Theme

ข้างบนนี้คือ Caligula-swirly เรียกว่าเป็น theme ที่เอาไว้โชว์อย่างเดียวจริงๆ เพราะทั้งเซ็ตยังไม่เข้ากันเท่าไร

อ่านพบอีกที่หนึ่ง ว่าให้ลง glitz ด้วย เพื่อใช้ OpenGL backend ของ Cairo ซึ่งจะทำให้เร็วขึ้น ..ว่าแล้วก็ build cairo ใหม่ซะ..

6 ความเห็น:

  • 25 สิงหาคม 2548 เวลา 08:54 , Blogger the ancient แถลง…

    เพิ่งเอาการ์ดเก่าที่เป็น matrox มาใส่กะว่าจะลอง glitz ซะหน่อย สงสัยว่าต้อง rebuild gdk ด้วยหรือเปล่าหรือมันมี option ให้เลือกได้เลยว่าจะใช้ backend ตัวไหนของ cairo แต่หลังสุดที่เล่น cairo ก็สักพักใหญ่แล้ว api ของแต่ละ backend มันไม่เหมือนกัน

     
  • 25 สิงหาคม 2548 เวลา 17:02 , Anonymous ไม่ระบุชื่อ แถลง…

    สนใจอยากทดลอง GNOME CVS อ่ะครับ ที่บอกสร้างโดย jhbuild อะไรนี่ยากมั้ยครับ ใช้กะ distro อื่นได้หรือเปล่า

     
  • 29 สิงหาคม 2548 เวลา 00:36 , Blogger Thep แถลง…

    id,

    เอ.. ไม่เคยเห็น config option ของ gdk ให้เลือก cairo backend นะครับ เข้าใจว่าอยู่ที่ cairo เลยหรือเปล่า?

    too`,

    ดูนี่เลยครับ:
    http://www.gnome.org/~jamesh/jhbuild.html
    คำสั่งไม่ยากเท่าไรครับ ใช้ได้กับ distro ทั่วไป

     
  • 29 สิงหาคม 2548 เวลา 13:14 , Blogger the ancient แถลง…

    ที่เคยเขียน api มันอยู่ในตัว cairo เช่น cairo_glitz_surface_create คือมัน abstract แต่ type (cairo_surface_t) แต่ไม่ abstract backend api ทีนี้เลยงงว่าถ้า gdk มันไม่ระบุตรงๆมันจะ link มาได้ยังไง ก็เลยสงสัยไง

     
  • 30 สิงหาคม 2548 เวลา 09:19 , Blogger Thep แถลง…

    นั่นแล เพราะไม่เห็น config option ใน gtk+ เลยคิดว่าไม่เกี่ยวกับ gdk คงเป็นส่วนที่ gtk+ ปล่อยผ่าน ให้ client คุยกับ cairo ตรงๆ

    แต่อย่างที่ id ว่าแหละครับ เช็กดูแล้ว มันไม่ลิงก์หรือโหลด libglitz เลย มันยังไงกันนี่ :-/ ควรจะให้ cairo-gtk-engine เลือก backend หรือควรให้ cairo ทำ abstraction กันหว่า

     
  • 1 กันยายน 2548 เวลา 00:43 , Blogger the ancient แถลง…

    อาจจะขัดแย้งกับปรัชญาของ cairo ถ้าจะให้ cairo ทำ abstraction เพราะเท่าที่เข้าใจเค้าจะไม่ชอบทำ abstraction ในระดับ device

     

แสดงความเห็น (มีการกลั่นกรองสำหรับ blog ที่เก่ากว่า 14 วัน)

<< กลับหน้าแรก

hacker emblem