139 references to LinuxPanelNative
Aspire.Tray.Tests (139)
src\Aspire.Tray\Linux\LinuxDesktopEnvironment.cs (3)
45var display = LinuxPanelNative.gdk_display_get_default(); 67gdk_display_get_default_screen(LinuxPanelNative.gdk_display_get_default())) != 0; 70g_type_name_from_instance(LinuxPanelNative.gdk_display_get_default())) == "GdkWaylandDisplay";
src\Aspire.Tray\Linux\LinuxPanelAccessibility.cs (7)
56gtk_style_context_add_provider(LinuxPanelNative.gtk_widget_get_style_context(widget), provider, 600); 58LinuxPanelNative.gtk_fixed_put(container, widget, 0, 0); 82LinuxPanelNative.gtk_fixed_move(container, control.Widget, (int)Math.Round(bounds.X), (int)Math.Round(bounds.Y)); 83LinuxPanelNative.gtk_widget_set_size_request(control.Widget, Math.Max(1, (int)Math.Ceiling(bounds.Width)), 87LinuxPanelNative.gtk_widget_hide(control.Widget); 104LinuxPanelNative.gtk_fixed_put(container, widget, (int)Math.Round(bounds.X), (int)Math.Round(bounds.Y)); 121LinuxPanelNative.gtk_widget_grab_focus(control.Widget);
src\Aspire.Tray\Linux\LinuxPlasmaAnchor.cs (6)
21var display = LinuxPanelNative.gdk_display_get_default(); 22var primary = LinuxPanelNative.gdk_display_get_primary_monitor(display); 23var monitors = Enumerable.Range(0, LinuxPanelNative.gdk_display_get_n_monitors(display)).Select(index => 25var monitor = LinuxPanelNative.gdk_display_get_monitor(display, index); 26LinuxPanelNative.gdk_monitor_get_geometry(monitor, out var geometry); 30var pointer = gdk_seat_get_pointer(LinuxPanelNative.gdk_display_get_default_seat(display));
src\Aspire.Tray\Linux\LinuxTrayPanel.cs (123)
95var display = LinuxPanelNative.gdk_display_get_default(); 96if (LinuxPanelNative.gdk_display_get_n_monitors(display) != _surfaces.Count 99LinuxPanelNative.gdk_monitor_get_geometry(surface.Monitor, out var geometry); 101|| surface.DeviceScale != LinuxPanelNative.gdk_monitor_get_scale_factor(surface.Monitor); 181LinuxPanelNative.XGetInputFocus(LinuxPanelNative.gdk_x11_display_get_xdisplay( 182LinuxPanelNative.gdk_display_get_default()), out _previousFocus, out _); 194var nativeWindow = LinuxPanelNative.gtk_widget_get_window(_window); 195var display = LinuxPanelNative.gdk_display_get_default(); 196LinuxPanelNative.XSetInputFocus(LinuxPanelNative.gdk_x11_display_get_xdisplay(display), 197LinuxPanelNative.gdk_x11_window_get_xid(nativeWindow), 2, LinuxPanelNative.gdk_x11_get_server_time(nativeWindow)); 198_seat = LinuxPanelNative.gdk_display_get_default_seat(LinuxPanelNative.gdk_display_get_default()); 199var result = LinuxPanelNative.gdk_seat_grab(_seat, nativeWindow, 8, 0, 0, 0, 0, 0); 222LinuxPanelNative.gdk_seat_ungrab(_seat); 226LinuxPanelNative.gtk_widget_hide(surface.Window); 230var display = LinuxPanelNative.gdk_display_get_default(); 233LinuxPanelNative.gdk_x11_display_error_trap_push(display); 234LinuxPanelNative.XSetInputFocus(LinuxPanelNative.gdk_x11_display_get_xdisplay(display), _previousFocus, 2, 0); 235LinuxPanelNative.gdk_x11_display_error_trap_pop_ignored(display); 267var display = LinuxPanelNative.gdk_display_get_default(); 268var monitors = Enumerable.Range(0, LinuxPanelNative.gdk_display_get_n_monitors(display)) 271var monitor = LinuxPanelNative.gdk_display_get_monitor(display, index); 272LinuxPanelNative.gdk_monitor_get_geometry(monitor, out var geometry); 274DeviceScale: LinuxPanelNative.gdk_monitor_get_scale_factor(monitor)); 314var window = LinuxPanelNative.gtk_window_new(0); 323var area = LinuxPanelNative.gtk_drawing_area_new(); 324var container = LinuxPanelNative.gtk_fixed_new(); 328LinuxPanelNative.gtk_window_set_decorated(window, 0); 329LinuxPanelNative.gtk_window_set_resizable(window, 0); 330LinuxPanelNative.gtk_window_set_accept_focus(window, main ? 1 : 0); 331LinuxPanelNative.gtk_window_set_skip_taskbar_hint(window, 1); 332LinuxPanelNative.gtk_window_set_skip_pager_hint(window, 1); 333var visual = LinuxPanelNative.gdk_screen_get_rgba_visual(LinuxPanelNative.gtk_widget_get_screen(window)); 338LinuxPanelNative.gtk_widget_set_visual(window, visual); 339LinuxPanelNative.gtk_widget_set_app_paintable(window, 1); 340LinuxPanelNative.gtk_widget_set_can_focus(area, main ? 1 : 0); 342LinuxPanelNative.gtk_fixed_put(container, area, 0, 0); 343LinuxPanelNative.gtk_widget_set_size_request(area, (int)geometry.Width, (int)geometry.Height); 355LinuxPanelNative.gtk_widget_realize(window); 356LinuxPanelNative.gdk_window_set_override_redirect(LinuxPanelNative.gtk_widget_get_window(window), 1); 357LinuxPanelNative.gtk_window_move(window, (int)geometry.X, (int)geometry.Y); 358LinuxPanelNative.gtk_window_resize(window, (int)geometry.Width, (int)geometry.Height); 391LinuxPanelNative.gtk_widget_add_events(widget, (1 << 2) | (1 << 8) | (1 << 9) | (1 << 10) | (1 << 12) | (1 << 21) | (1 << 23)); 401var context = LinuxPanelNative.gtk_widget_get_style_context(_area); 402return LinuxPanelNative.gtk_style_context_lookup_color(context, "theme_bg_color", out var color) != 0 410var display = LinuxPanelNative.gdk_display_get_default(); 411if (LinuxPanelNative.gdk_display_get_n_monitors(display) == 0) 417var primary = LinuxPanelNative.gdk_display_get_primary_monitor(display); 420primary = LinuxPanelNative.gdk_display_get_monitor(display, 0); 422LinuxPanelNative.gdk_monitor_get_workarea(primary, out var initial); 427_monitor = LinuxPanelNative.gdk_display_get_monitor_at_point(display, _anchorX, _anchorY); 428LinuxPanelNative.gdk_monitor_get_workarea(_monitor, out var workarea); 445return GetScale(LinuxPanelNative.gdk_screen_get_resolution( 446LinuxPanelNative.gdk_display_get_default_screen(LinuxPanelNative.gdk_display_get_default()))); 490LinuxPanelNative.gtk_widget_queue_draw(_area); 499LinuxPanelNative.gdk_event_get_coords(nativeEvent, out var x, out var y); 500var eventWidget = LinuxPanelNative.gtk_get_event_widget(nativeEvent); 501if (eventWidget != 0 && LinuxPanelNative.gtk_widget_translate_coordinates(eventWidget, surface.Area, 508switch (LinuxPanelNative.gdk_event_get_event_type(nativeEvent)) 524LinuxPanelNative.XGetInputFocus(LinuxPanelNative.gdk_x11_display_get_xdisplay( 525LinuxPanelNative.gdk_display_get_default()), out var focus, out _); 526if (!_grabbed || focus == LinuxPanelNative.gdk_x11_window_get_xid( 527LinuxPanelNative.gtk_widget_get_window(_window))) 545LinuxPanelNative.gtk_widget_set_tooltip_text(_area, _panel.HitTest(x, y)?.Tooltip); 551if (LinuxPanelNative.gdk_event_get_event_type(nativeEvent) == 4 557LinuxPanelNative.gdk_event_get_button(nativeEvent, out var button); 562Apply(LinuxPanelNative.gdk_event_get_event_type(nativeEvent) == 4 ? _panel.PointerDown(x, y) : _panel.PointerUp(x, y)); 569if (LinuxPanelNative.gdk_event_get_scroll_deltas(nativeEvent, out _, out var delta) == 0) 571LinuxPanelNative.gdk_event_get_scroll_direction(nativeEvent, out var direction); 577LinuxPanelNative.gdk_event_get_keyval(nativeEvent, out var key); 578LinuxPanelNative.gdk_event_get_state(nativeEvent, out var modifiers); 613LinuxPanelNative.cairo_paint(context); 619LinuxPanelNative.cairo_save(context); 620LinuxPanelNative.cairo_translate(context, _bounds.X - surface.Geometry.X, _bounds.Y - surface.Geometry.Y); 621LinuxPanelNative.cairo_scale(context, _scale, _scale); 626LinuxPanelNative.cairo_restore(context); 645LinuxPanelNative.cairo_set_line_width(context, stroke.Width); 646LinuxPanelNative.cairo_set_line_cap(context, 1); 647LinuxPanelNative.cairo_set_line_join(context, 1); 648LinuxPanelNative.cairo_stroke(context); 654LinuxPanelNative.cairo_save(context); 655LinuxPanelNative.cairo_translate(context, logo.Bounds.X, logo.Bounds.Y); 656LinuxPanelNative.cairo_scale(context, logo.Bounds.Width / Gtk.cairo_image_surface_get_width(_logo), 659LinuxPanelNative.cairo_paint(context); 660LinuxPanelNative.cairo_restore(context); 669LinuxPanelNative.cairo_save(context); 671LinuxPanelNative.cairo_clip(context); 674LinuxPanelNative.cairo_restore(context); 681var layout = LinuxPanelNative.pango_cairo_create_layout(context); 682var font = LinuxPanelNative.pango_font_description_copy(LinuxPanelNative.pango_context_get_font_description( 683LinuxPanelNative.gtk_widget_get_pango_context(_area))); 686LinuxPanelNative.pango_font_description_set_absolute_size(font, PanelFonts.Size(text.Font) * 1024); 687LinuxPanelNative.pango_font_description_set_weight(font, PanelFonts.IsSemibold(text.Font) ? 600 : 400); 688LinuxPanelNative.pango_layout_set_font_description(layout, font); 689LinuxPanelNative.pango_layout_set_text(layout, text.Text, -1); 690LinuxPanelNative.pango_layout_set_width(layout, (int)Math.Round(text.Bounds.Width * 1024)); 691LinuxPanelNative.pango_layout_set_height(layout, -text.MaxLines); 692LinuxPanelNative.pango_layout_set_wrap(layout, 2); // PANGO_WRAP_WORD_CHAR 693LinuxPanelNative.pango_layout_set_ellipsize(layout, text.Truncation == PanelTruncation.Middle ? 2 : 3); 694LinuxPanelNative.pango_layout_set_alignment(layout, text.Alignment switch 700var scale = _scale * LinuxPanelNative.gtk_widget_get_scale_factor(_area); 702: Math.Round(text.Baseline * scale) / scale - LinuxPanelNative.pango_layout_get_baseline(layout) / 1024d; 703LinuxPanelNative.cairo_save(context); 705LinuxPanelNative.cairo_clip(context); 707LinuxPanelNative.cairo_move_to(context, text.Bounds.X, y); 708LinuxPanelNative.pango_cairo_show_layout(context, layout); 709LinuxPanelNative.cairo_restore(context); 713LinuxPanelNative.pango_font_description_free(font); 719=> LinuxPanelNative.cairo_set_source_rgba(context, color.R / 255d, color.G / 255d, color.B / 255d, color.Alpha); 723LinuxPanelNative.cairo_new_path(context); 729LinuxPanelNative.cairo_move_to(context, segment.X3, segment.Y3); 732LinuxPanelNative.cairo_line_to(context, segment.X3, segment.Y3); 735LinuxPanelNative.cairo_curve_to(context, segment.X1, segment.Y1, segment.X2, segment.Y2, segment.X3, segment.Y3); 738LinuxPanelNative.cairo_close_path(context);