GTK Webkit Schrift auf Seite Zoomen

In dieser Linux-Ecke dürfen nur Themen rund um Linux geschrieben werden.
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
legion
Beiträge: 467
Registriert: 08.10.2006 18:04
Computerausstattung: Intel Core i5-6500 @ 4x 3.6GHz mit Windows 10 Pro, Intel Core-i7 mit Ubuntu 18.04 bionic, x86_64 Linux 4.18.0-16-generic, Microsoft Surface Pro - Windows 10 Pro
Wohnort: Wien
Kontaktdaten:

GTK Webkit Schrift auf Seite Zoomen

Beitrag von legion »

Hallo !
Hat jemand eine Idee wie man im Webkit die Schriftgröße zoomen kann ?
Mit "webkit_web_view_set_zoom_level" werden nur die Komponenten vergrößert, die
Schrift bleibt leider klein. DANKE !!!

Code: Alles auswählen

ImportC "/usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so"
  webkit_web_view_new()
  webkit_web_view_load_uri(webView, url.p-ascii)
  webkit_web_view_set_zoom_level(webView,zoom.d)
EndImport  

EnableExplicit

Define window  = OpenWindow(0, 0, 0, 1800, 1200, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
Define webView = webkit_web_view_new()

Define parent  = g_list_nth_data_(gtk_container_get_children_(WindowID(0)), 0) 
parent = g_list_nth_data_(gtk_container_get_children_(parent), 0) 
webkit_web_view_load_uri(webView, "https://www.google.com")
webkit_web_view_set_zoom_level(webView,1.5)

gtk_widget_set_size_request_(webView, 1800, 1200)
gtk_container_add_(parent, webView)
gtk_widget_grab_focus_(webView)
gtk_widget_show_all_(Window)

Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
PB 5.71 LTS Windows 10 Pro & Ubuntu 18.04.2 LTS & Linux Mint 19.3
-----------------------------------------------------
Alles ist, wie man glaubt, dass es ist!
Benutzeravatar
Sicro
Beiträge: 955
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: GTK Webkit Schrift auf Seite Zoomen

Beitrag von Sicro »

Versuche das mal:

Code: Alles auswählen

; https://www.manpagez.com/html/webkitgtk/webkitgtk-2.4.9/webkitgtk-webkitwebview.php#webkit-web-view-set-full-content-zoom
webkit_web_view_set_full_content_zoom(webView, #True)
Laut der Beschreibung steht die Einstellung standardmäßig auf #False, was dazu führt, dass nur Text gezoomt wird. Es ist dort also andersherum beschrieben, als es bei dir der Fall ist. Komisch :?
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
legion
Beiträge: 467
Registriert: 08.10.2006 18:04
Computerausstattung: Intel Core i5-6500 @ 4x 3.6GHz mit Windows 10 Pro, Intel Core-i7 mit Ubuntu 18.04 bionic, x86_64 Linux 4.18.0-16-generic, Microsoft Surface Pro - Windows 10 Pro
Wohnort: Wien
Kontaktdaten:

Re: GTK Webkit Schrift auf Seite Zoomen

Beitrag von legion »

Vielen Dank für deine Unterstützung !!!!
Wenn ich "webkit_web_view_set_full_content_zoom" einfüge bekomme ich
einen Linker-Error !

purebasic.o: In Funktion »PB_DEBUGGER_ModuleBank«:
(.data+0x588): Warnung: undefinierter Verweis auf »webkit_web_view_set_full_content_zoom«
collect2: error: ld returned 1 exit status


Code: Alles auswählen

ImportC "/usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so"
  webkit_web_view_new()
  webkit_web_view_load_uri(webView, url.p-ascii)
  webkit_web_view_set_zoom_level(webView,zoom.d)
  webkit_web_view_set_full_content_zoom (webView,full_content_zoom)
EndImport  

EnableExplicit

Define window  = OpenWindow(0, 0, 0, 1800, 1200, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_SizeGadget)
Define webView = webkit_web_view_new()
 
Define parent  = g_list_nth_data_(gtk_container_get_children_(WindowID(0)), 0) 
parent = g_list_nth_data_(gtk_container_get_children_(parent), 0)
webkit_web_view_load_uri(webView, "file:///home/user/Eigenes HTML/Flexbox/flexbox.html")
webkit_web_view_set_zoom_level(webView,1.5)
webkit_web_view_set_full_content_zoom(webView, #True)
gtk_widget_set_size_request_(webView, 1800, 1200)
gtk_container_add_(parent, webView)
gtk_widget_grab_focus_(webView)
gtk_widget_show_all_(Window)

Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
PB 5.71 LTS Windows 10 Pro & Ubuntu 18.04.2 LTS & Linux Mint 19.3
-----------------------------------------------------
Alles ist, wie man glaubt, dass es ist!
Benutzeravatar
Sicro
Beiträge: 955
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: GTK Webkit Schrift auf Seite Zoomen

Beitrag von Sicro »

Ok, die Funktion gibt es nicht mehr.

Hiermit kannst du ermitteln, welche Zoom-Funktionen deine Library hat:

Code: Alles auswählen

Define functionName$
If OpenLibrary(0, "/usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so")
  If ExamineLibraryFunctions(0)
    While NextLibraryFunction()
      functionName$ = LibraryFunctionName()
      If FindString(functionName$, "zoom")
        Debug functionName$
      EndIf
    Wend
  EndIf 
EndIf
Bei mir liefert der Code folgende Funktionen:
webkit_web_view_set_zoom_level
webkit_settings_set_zoom_text_only
webkit_settings_get_zoom_text_only
webkit_web_view_get_zoom_level
So funktioniert es bei mir:

In den Import-Block:

Code: Alles auswählen

; https://webkitgtk.org/reference/webkit2gtk/stable/WebKitWebView.html#webkit-web-view-get-settings
webkit_web_view_get_settings(*webView)
  
; https://webkitgtk.org/reference/webkit2gtk/stable/WebKitWebView.html#webkit-web-view-set-settings
webkit_web_view_set_settings(*webView, *webViewSettings)
  
; https://webkitgtk.org/reference/webkit2gtk/stable/WebKitSettings.html#webkit-settings-set-zoom-text-only
webkit_settings_set_zoom_text_only(*webViewSettings, zoom_text_only)
Danach die Funktionen wie folgt aufrufen:

Code: Alles auswählen

Define *webViewSettings = webkit_web_view_get_settings(webView)
webkit_settings_set_zoom_text_only(*webViewSettings, #False)
webkit_web_view_set_settings(webView, *webViewSettings)
webkit_web_view_set_zoom_level(webView, 1.5)
Bei mir liegt die Library übrigens in "/usr/lib/libwebkit2gtk-4.0.so". Falls das Programm also später nicht nur für dich selbst sein soll, musst du beachten, dass sich der Pfad unterscheiden kann.
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
legion
Beiträge: 467
Registriert: 08.10.2006 18:04
Computerausstattung: Intel Core i5-6500 @ 4x 3.6GHz mit Windows 10 Pro, Intel Core-i7 mit Ubuntu 18.04 bionic, x86_64 Linux 4.18.0-16-generic, Microsoft Surface Pro - Windows 10 Pro
Wohnort: Wien
Kontaktdaten:

Re: GTK Webkit Schrift auf Seite Zoomen

Beitrag von legion »

RESPEKT !!!! Dein Wissen möchte ich haben ! :mrgreen:
Jetzt funzt es bei mir auch, vielen lieben Dank für den tollen Support !
PB 5.71 LTS Windows 10 Pro & Ubuntu 18.04.2 LTS & Linux Mint 19.3
-----------------------------------------------------
Alles ist, wie man glaubt, dass es ist!
Antworten