Page 1 of 1

Fix Hardware Acceleration Display Anomaly in GtkWebKit on Bookworm

Posted: Sun Jan 21, 2024 3:34 pm
by mk-soft
Solution of ...
Link: Hardware Acceleration Display Anomaly in GtkWebKit on Bookworm

Update v1.01.1
- Added WebViewGadget

Code: Select all

;-TOP 
; Fix Linux Bookwork GtkWebkit Hardware Acceleration
; by mk-soft, v1.01.1, 27.01.2024

#WEBKIT_HARDWARE_ACCELERATION_POLICY_ON_DEMAND = 0
#WEBKIT_HARDWARE_ACCELERATION_POLICY_ALWAYS = 1
#WEBKIT_HARDWARE_ACCELERATION_POLICY_NEVER = 2

Import ""
  webkit_web_view_get_settings(webview)
  webkit_settings_set_hardware_acceleration_policy(settings, flags)
EndImport

Procedure SetWebViewAcceleration(Gadget, Policy)
  Protected webview, *settings
  Select GadgetType(gadget)
    Case #PB_GadgetType_Web ; WebGadget
      webview = GadgetID(Gadget)
    Case 35; #PB_GadgetType_WebView ; WebViewGadget
      webview = gtk_bin_get_child_(GadgetID(Gadget))
    Default
      ProcedureReturn 0
  EndSelect
  *settings = webkit_web_view_get_settings(webview)
  webkit_settings_set_hardware_acceleration_policy(*settings, Policy)
EndProcedure

; ****

If OpenWindow(0, 0, 0, 600, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  WebGadget(0, 10, 10, 580, 280, "https://www.purebasic.com")
  SetWebViewAcceleration(0, #WEBKIT_HARDWARE_ACCELERATION_POLICY_NEVER)
  Repeat 
  Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

Re: Fix Hardware Acceleration Display Anomaly in GtkWebKit on Bookworm

Posted: Sat Jan 27, 2024 3:35 pm
by mk-soft
Update v1.01.1
- Added WebViewGadget

At time missing constant #PB_GadgetType_WebView (35)