From 3e07e568a1ae478b89812d91438d75179c94ab35 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Wed, 16 Jan 2019 11:43:34 +0100 Subject: remove obsolete Tobii EyeX SDK --- .../ActivatableButtons/ActivatableButtons.cpp | 357 --------------------- 1 file changed, 357 deletions(-) delete mode 100755 Tobii-EyeX/samples/ActivatableButtons/ActivatableButtons.cpp (limited to 'Tobii-EyeX/samples/ActivatableButtons/ActivatableButtons.cpp') diff --git a/Tobii-EyeX/samples/ActivatableButtons/ActivatableButtons.cpp b/Tobii-EyeX/samples/ActivatableButtons/ActivatableButtons.cpp deleted file mode 100755 index 8cee1c3..0000000 --- a/Tobii-EyeX/samples/ActivatableButtons/ActivatableButtons.cpp +++ /dev/null @@ -1,357 +0,0 @@ -/* - * ActivatableButtons sample: - * This is an example that demonstrates the Activatable behavior. - * It features two buttons that can be clicked by looking at the button and pressing the space bar. - * - * Copyright 2013 Tobii Technology AB. All rights reserved. - */ - -#include "stdafx.h" -#include -#include -#include -#include "resource.h" -#include "EyeXHost.h" - -#pragma comment (lib, "Gdiplus.lib") - -// window messages used for notifications from the EyeXHost. -#define WM_EYEX_HOST_STATUS_CHANGED WM_USER + 0 -#define WM_REGION_GOT_ACTIVATION_FOCUS WM_USER + 1 -#define WM_REGION_ACTIVATED WM_USER + 2 - -// constants. -static const Gdiplus::Color OriginalBackgroundColor(66, 173, 209); -static const Gdiplus::Color OtherBackgroundColor(89, 169, 108); -static const int ChangeButtonLeft = 50; -static const int ResetButtonLeft = 260; -static const int ButtonTop = 100; -static const int ButtonWidth = 160; -static const int ButtonHeight = 100; -static const TCHAR* g_szWindowClass = _T("ActivatableButtons"); - -// global variables. -static EyeXHost g_eyeXHost; -static HWND g_hWnd; -static HWND g_hChangeButton; -static HWND g_hResetButton; -static bool g_useOriginalColor = true; - -// gets the bounds of a button in screen coordinates. -RECT GetScreenBounds(HWND hButton) -{ - POINT point = { 0, 0 }; - ClientToScreen(hButton, &point); - - RECT bounds; - bounds.left = point.x; - bounds.top = point.y; - bounds.right = bounds.left + ButtonWidth; - bounds.bottom = bounds.top + ButtonHeight; - - return bounds; -} - -// reports the buttons as activatable regions to the EyeX host. -void UpdateActivatableRegions() -{ - std::vector regions; - - regions.push_back(EyeXHost::ActivatableRegion(IDC_CHANGE_COLOR_BUTTON, GetScreenBounds(g_hChangeButton))); - regions.push_back(EyeXHost::ActivatableRegion(IDC_RESET_COLOR_BUTTON, GetScreenBounds(g_hResetButton))); - - g_eyeXHost.SetActivatableRegions(regions); -} - -// event handler invoked when a "status changed" event has been received from the EyeX host. -void OnStatusChanged(bool engineConnectionIsFunctional) -{ - // update the window title to reflect the engine connection state. - if (engineConnectionIsFunctional) - { - SetWindowText(g_hWnd, _T("ActivatableButtons - Use Ur Eyez! :)")); - } - else - { - SetWindowText(g_hWnd, _T("ActivatableButtons - Mouse Only :(")); - } -} - -// event handler invoked when a region has received the activation focus. -void OnRegionGotActivationFocus(UINT regionId) -{ - // set the keyboard focus to the corresponding button. - switch(regionId) - { - case IDC_CHANGE_COLOR_BUTTON: - SetFocus(g_hChangeButton); - break; - - case IDC_RESET_COLOR_BUTTON: - SetFocus(g_hResetButton); - break; - } -} - -// event handler invoked when the "change color" button has been activated. -void OnChangeColorActivated() -{ - g_useOriginalColor = false; - InvalidateRect(g_hWnd, 0, FALSE); -} - -// event handler invoked when the "reset color" button has been activated. -void OnResetColorActivated() -{ - g_useOriginalColor = true; - InvalidateRect(g_hWnd, 0, FALSE); -} - -// event handler invoked when a region has received an activation event. -void OnRegionActivated(UINT regionId) -{ - // route the event to the corresponding button. - switch(regionId) - { - case IDC_CHANGE_COLOR_BUTTON: - OnChangeColorActivated(); - break; - - case IDC_RESET_COLOR_BUTTON: - OnResetColorActivated(); - break; - } -} - -void OnDraw(HDC hdc) -{ - Gdiplus::Graphics graphics(hdc); - - RECT rect; - GetClientRect(g_hWnd, &rect); - - Gdiplus::Color backgroundColor(OriginalBackgroundColor); - if (!g_useOriginalColor) - { - backgroundColor = OtherBackgroundColor; - } - - Gdiplus::SolidBrush backgroundBrush(backgroundColor); - graphics.FillRectangle(&backgroundBrush, rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top); - - const TCHAR* message = _T("Click the buttons with your eyes! Look at a button and press the space bar to click. ") - _T("(Make sure the window has input focus.)"); - Gdiplus::Font font(_T("Arial"), 10); - Gdiplus::SolidBrush textBrush(Gdiplus::Color::Black); - Gdiplus::RectF textRect((Gdiplus::REAL)10, - (Gdiplus::REAL)(ButtonTop + ButtonHeight + 20), - (Gdiplus::REAL)(rect.right - 20), - (Gdiplus::REAL)(rect.bottom - rect.top)); - Gdiplus::StringFormat textFormat; - graphics.DrawString(message, (INT)_tcslen(message), &font, textRect, &textFormat, &textBrush); -} - -// -// FUNCTION: WndProc(HWND, UINT, WPARAM, LPARAM) -// -// PURPOSE: Processes messages for the main window. -// -// WM_COMMAND - process the application menu -// WM_PAINT - Paint the main window -// WM_DESTROY - post a quit message and return -// -// -LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) -{ - int wmId, wmEvent; - PAINTSTRUCT ps; - HDC hdc; - - switch (message) - { - case WM_COMMAND: - wmId = LOWORD(wParam); - wmEvent = HIWORD(wParam); - switch (wmId) - { - case IDC_CHANGE_COLOR_BUTTON: - OnChangeColorActivated(); - break; - - case IDC_RESET_COLOR_BUTTON: - OnResetColorActivated(); - break; - - case IDM_EXIT: - DestroyWindow(hWnd); - break; - - default: - return DefWindowProc(hWnd, message, wParam, lParam); - } - break; - - case WM_CREATE: - { - g_hChangeButton = CreateWindow( - _T("BUTTON"), - _T("Change color"), - WS_TABSTOP|WS_VISIBLE|WS_CHILD|BS_DEFPUSHBUTTON, - ChangeButtonLeft, ButtonTop, ButtonWidth, ButtonHeight, - hWnd, - (HMENU)IDC_CHANGE_COLOR_BUTTON, - GetModuleHandle(NULL), - NULL); - g_hResetButton = CreateWindow( - _T("BUTTON"), - _T("Reset color"), - WS_TABSTOP|WS_VISIBLE|WS_CHILD|BS_DEFPUSHBUTTON, - ResetButtonLeft, ButtonTop, ButtonWidth, ButtonHeight, - hWnd, - (HMENU)IDC_RESET_COLOR_BUTTON, - GetModuleHandle(NULL), - NULL); - } - break; - - case WM_PAINT: - hdc = BeginPaint(hWnd, &ps); - OnDraw(hdc); - EndPaint(hWnd, &ps); - break; - - case WM_ERASEBKGND: - // no background erasing needed since our OnDraw method draws the entire window. - return TRUE; - - case WM_EYEX_HOST_STATUS_CHANGED: - OnStatusChanged(wParam != FALSE); - break; - - case WM_REGION_GOT_ACTIVATION_FOCUS: - OnRegionGotActivationFocus((UINT)wParam); - break; - - case WM_REGION_ACTIVATED: - OnRegionActivated((UINT)wParam); - break; - - case WM_WINDOWPOSCHANGED: - UpdateActivatableRegions(); - break; - - case WM_DESTROY: - PostQuitMessage(0); - break; - - case WM_KEYDOWN: - // trigger an activation command when space is pressed. - if (VK_SPACE == wParam) - { - g_eyeXHost.TriggerActivation(); - } - break; - - default: - return DefWindowProc(hWnd, message, wParam, lParam); - } - return 0; -} - -// -// FUNCTION: MyRegisterClass() -// -// PURPOSE: Registers the window class. -// -ATOM MyRegisterClass(HINSTANCE hInstance) -{ - WNDCLASSEX wcex; - - wcex.cbSize = sizeof(WNDCLASSEX); - - wcex.style = CS_HREDRAW | CS_VREDRAW; - wcex.lpfnWndProc = WndProc; - wcex.cbClsExtra = 0; - wcex.cbWndExtra = 0; - wcex.hInstance = hInstance; - wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ACTIVATABLEBUTTONS)); - wcex.hCursor = LoadCursor(NULL, IDC_ARROW); - wcex.hbrBackground = 0; - wcex.lpszMenuName = MAKEINTRESOURCE(IDC_ACTIVATABLEBUTTONS); - wcex.lpszClassName = g_szWindowClass; - wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL)); - - return RegisterClassEx(&wcex); -} - -// -// FUNCTION: InitInstance(HINSTANCE, int) -// -// PURPOSE: Saves instance handle and creates main window -// -// COMMENTS: -// -// In this function, we save the instance handle in a global variable and -// create and display the main program window. -// -BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) -{ - g_hWnd = CreateWindow(g_szWindowClass, _T(""), WS_OVERLAPPEDWINDOW, - CW_USEDEFAULT, 0, 490, 380, NULL, NULL, hInstance, NULL); - - if (!g_hWnd) - { - return FALSE; - } - - ShowWindow(g_hWnd, nCmdShow); - UpdateWindow(g_hWnd); - - // initialize the EyeX host and the activatable regions. - g_eyeXHost.Init(g_hWnd, WM_EYEX_HOST_STATUS_CHANGED, WM_REGION_GOT_ACTIVATION_FOCUS, WM_REGION_ACTIVATED); - UpdateActivatableRegions(); - - return TRUE; -} - -// Application entry point. -int APIENTRY _tWinMain(_In_ HINSTANCE hInstance, - _In_opt_ HINSTANCE hPrevInstance, - _In_ LPTSTR lpCmdLine, - _In_ int nCmdShow) -{ - UNREFERENCED_PARAMETER(hPrevInstance); - UNREFERENCED_PARAMETER(lpCmdLine); - - // Initialize gdiplus - ULONG_PTR gdiplusToken; - Gdiplus::GdiplusStartupInput gdiplusStartupInput; - Gdiplus::GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL); - - MyRegisterClass(hInstance); - - // Perform application initialization: - if (!InitInstance (hInstance, nCmdShow)) - { - return FALSE; - } - - HACCEL hAccelTable; - hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_ACTIVATABLEBUTTONS)); - - // Main message loop: - MSG msg; - while (GetMessage(&msg, NULL, 0, 0)) - { - if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) - { - TranslateMessage(&msg); - DispatchMessage(&msg); - } - } - - // Shutdown: - Gdiplus::GdiplusShutdown(gdiplusToken); - - return (int) msg.wParam; -} -- cgit v1.2.3