-
-// A class abstraction for a high DPI-aware Win32 Window. Intended to be
-// inherited from by classes that wish to specialize with custom
-// rendering and input handling
-class Win32Window {
- public:
- struct Point {
- unsigned int x;
- unsigned int y;
- Point(unsigned int x, unsigned int y) : x(x), y(y) {}
- };
-
- struct Size {
- unsigned int width;
- unsigned int height;
- Size(unsigned int width, unsigned int height)
- : width(width), height(height) {}
- };
-
- Win32Window();
- virtual ~Win32Window();
-
- // Creates a win32 window with |title| that is positioned and sized using
- // |origin| and |size|. New windows are created on the default monitor. Window
- // sizes are specified to the OS in physical pixels, hence to ensure a
- // consistent size this function will scale the inputted width and height as
- // as appropriate for the default monitor. The window is invisible until
- // |Show| is called. Returns true if the window was created successfully.
- bool Create(const std::wstring& title, const Point& origin, const Size& size);
-
- // Show the current window. Returns true if the window was successfully shown.
- bool Show();
-
- // Release OS resources associated with window.
- void Destroy();
-
- // Inserts |content| into the window tree.
- void SetChildContent(HWND content);
-
- // Returns the backing Window handle to enable clients to set icon and other
- // window properties. Returns nullptr if the window has been destroyed.
- HWND GetHandle();
-
- // If true, closing this window will quit the application.
- void SetQuitOnClose(bool quit_on_close);
-
- // Return a RECT representing the bounds of the current client area.
- RECT GetClientArea();
-
- protected:
- // Processes and route salient window messages for mouse handling,
- // size change and DPI. Delegates handling of these to member overloads that
- // inheriting classes can handle.
- virtual LRESULT MessageHandler(HWND window,
- UINT const message,
- WPARAM const wparam,
- LPARAM const lparam) noexcept;
-
- // Called when CreateAndShow is called, allowing subclass window-related
- // setup. Subclasses should return false if setup fails.
- virtual bool OnCreate();
-
- // Called when Destroy is called.
- virtual void OnDestroy();
-
- private:
- friend class WindowClassRegistrar;
-
- // OS callback called by message pump. Handles the WM_NCCREATE message which
- // is passed when the non-client area is being created and enables automatic
- // non-client DPI scaling so that the non-client area automatically
- // responds to changes in DPI. All other messages are handled by
- // MessageHandler.
- static LRESULT CALLBACK WndProc(HWND const window,
- UINT const message,
- WPARAM const wparam,
- LPARAM const lparam) noexcept;
-
- // Retrieves a class instance pointer for |window|
- static Win32Window* GetThisFromHandle(HWND const window) noexcept;
-
- // Update the window frame's theme to match the system theme.
- static void UpdateTheme(HWND const window);
-
- bool quit_on_close_ = false;
-
- // window handle for top level window.
- HWND window_handle_ = nullptr;
-
- // window handle for hosted content.
- HWND child_content_ = nullptr;
-};
-
-#endif // RUNNER_WIN32_WINDOW_H_
diff --git a/examples/browser-client.html b/examples/browser-client.html
deleted file mode 100644
index 1c90e34..0000000
--- a/examples/browser-client.html
+++ /dev/null
@@ -1,184 +0,0 @@
-
-
-
-
-SwyxTray — WebSocket-Beispiel
-
-
-
-
-SwyxTray — WebSocket-Beispiel
-
-
- Zur Zeit sind alle Prüfungen abgeschaltet — es genügt
- ws://127.0.0.1:17654/ ohne Token, auch beim Öffnen dieser Seite
- direkt aus dem Dateisystem.
-
-
- Von einem anderen Rechner aus: in
- websocket.json "AllowRemoteAccess": true setzen, App
- neu starten und die LAN-Adresse verwenden
- (ws://192.168.x.y:17654/…). Diese Seite muss dann über
- http:// ausgeliefert werden — aus einer HTTPS-Seite heraus
- blockiert der Browser ws:// auf eine entfernte Adresse als Mixed
- Content. Für Loopback gilt diese Ausnahme, für die LAN-Adresse nicht.
-
-
- Sind die Prüfungen wieder eingeschaltet, muss die Seite von einem Origin
- geladen werden, der in %LOCALAPPDATA%\SwyxTray\websocket.json
- unter AllowedOrigins steht, und die Adresse braucht das Token.
- Über file:// sendet der Browser den Origin null —
- dann muss dort "null" eingetragen sein.
-
-
-
- Verbindung
-
- Verbinden
- Status: nicht verbunden
-
-
-
- Steuerung
-
- Anrufen
- Annehmen
- Auflegen
- Halten
- Status
-
-
-
- Fokussieren
-
-
-
-
- Tabs (Firefox-Plugin)
-
- Tabs anzeigen
-
- Tab öffnen
-
-
-
-
-
-
-
-
-
-