AG_Box *AGOL_Settings::CreateWadDirButtonBox(void *parent) { AG_Box *bbox; bbox = AG_BoxNewVert(parent, AG_BOX_VFILL); AG_ButtonNewFn(bbox, AG_BUTTON_HFILL, "Add", EventReceiver, "%p", RegisterEventHandler((EVENT_FUNC_PTR)&AGOL_Settings::OnAddWadDir)); AG_ButtonNewFn(bbox, AG_BUTTON_HFILL, "Replace", EventReceiver, "%p", RegisterEventHandler((EVENT_FUNC_PTR)&AGOL_Settings::OnReplaceWadDir)); AG_ButtonNewFn(bbox, AG_BUTTON_HFILL, "Delete", EventReceiver, "%p", RegisterEventHandler((EVENT_FUNC_PTR)&AGOL_Settings::OnDeleteWadDir)); AG_SeparatorNewHoriz(bbox); AG_ButtonNewFn(bbox, AG_BUTTON_HFILL, "Move Up", EventReceiver, "%p", RegisterEventHandler((EVENT_FUNC_PTR)&AGOL_Settings::OnMoveWadDirUp)); AG_ButtonNewFn(bbox, AG_BUTTON_HFILL, "Move Down", EventReceiver, "%p", RegisterEventHandler((EVENT_FUNC_PTR)&AGOL_Settings::OnMoveWadDirDown)); #ifndef GCONSOLE AG_SeparatorNewHoriz(bbox); AG_ButtonNew(bbox, AG_BUTTON_HFILL, "Get Environment"); #endif return bbox; }
AG_Box *AGOL_About::CreateLicenseBox(void *parent) { AG_Box *lbox; AG_Textbox *text; lbox = AG_BoxNewVert(parent, AG_BOX_EXPAND); AG_LabelNewS(lbox, 0, "License"); lbox = AG_BoxNewHoriz(lbox, AG_BOX_EXPAND); AG_BoxSetPadding(lbox, 5); AG_BoxSetSpacing(lbox, 5); #if !AG_VERSION_ATLEAST(1,4,2) text = AG_TextboxNewS(lbox, AG_TEXTBOX_MULTILINE | AG_TEXTBOX_EXPAND, ""); #else text = AG_TextboxNewS(lbox, AG_TEXTBOX_READONLY | AG_TEXTBOX_MULTILINE | AG_TEXTBOX_EXPAND, ""); #endif AG_TextboxSetWordWrap(text, true); AG_TextboxSetString(text, license.c_str()); #if !AG_VERSION_ATLEAST(1,4,2) AG_SetEvent(text, "textbox-prechg", EventReceiver, "%p", RegisterEventHandler((EVENT_FUNC_PTR)&AGOL_About::OnLicensePrechg)); AG_SetEvent(text, "textbox-postchg", EventReceiver, "%p", RegisterEventHandler((EVENT_FUNC_PTR)&AGOL_About::OnLicensePostchg)); #else AG_TextboxSetCursorPos(text, 0); #endif return lbox; }
void AGOL_Settings::OnBrowseOdamexPath(AG_Event *event) { if(DirSel) return; // Create and display a new directory selector dialog DirSel = new AGOL_DirSelector("Select your Odamex folder"); // Register and set the OK and Cancel events DirSelOkHandler = RegisterEventHandler((EVENT_FUNC_PTR)&AGOL_Settings::OdamexPathSelectorOk); DirSel->SetOkAction(DirSelOkHandler); DirSelCancelHandler = RegisterEventHandler((EVENT_FUNC_PTR)&AGOL_Settings::DirectorySelectorCancel); DirSel->SetCancelAction(DirSelCancelHandler); }
void AGOL_Settings::OnAddWadDir(AG_Event *event) { if(DirSel) return; // Create and display a new directory selector dialog DirSel = new AGOL_DirSelector("Select a folder containing WAD files"); // Register and set the OK and Cancel events DirSelOkHandler = RegisterEventHandler((EVENT_FUNC_PTR)&AGOL_Settings::AddWadDirSelectorOk); DirSel->SetOkAction(DirSelOkHandler); DirSelCancelHandler = RegisterEventHandler((EVENT_FUNC_PTR)&AGOL_Settings::DirectorySelectorCancel); DirSel->SetCancelAction(DirSelCancelHandler); }
void Menu::ShowModal(){ if(!Active){ evHandler=RegisterEventHandler(&MouseHandle,21,this); choose=-1; Active=true; }; };
AG_Box *AGOL_Settings::CreateMainButtonBox(void *parent) { AG_Box *bbox; bbox = AG_BoxNewHoriz(parent, AG_BOX_HFILL); // This empty box positions the buttons to the right AG_BoxNewHoriz(bbox, AG_BOX_HFILL); AG_ButtonNewFn(bbox, 0, "Cancel", EventReceiver, "%p", RegisterEventHandler((EVENT_FUNC_PTR)&AGOL_Settings::OnCancel)); AG_ButtonNewFn(bbox, 0, " OK ", EventReceiver, "%p", RegisterEventHandler((EVENT_FUNC_PTR)&AGOL_Settings::OnOK)); return bbox; }
AG_Tlist *AGOL_Settings::CreateWadDirList(void *parent) { AG_Tlist *wdlist; string waddirs; char cwd[AG_PATHNAME_MAX]; wdlist = AG_TlistNewPolled(parent, AG_TLIST_EXPAND, EventReceiver, "%p", RegisterEventHandler((EVENT_FUNC_PTR)&AGOL_Settings::UpdateWadDirList)); AG_TlistSetCompareFn(wdlist, AG_TlistCompareStrings); AG_TlistSizeHintPixels(wdlist, 400, 0); // Read the WadDirs option from the config file if(GuiConfig::Read("WadDirs", waddirs)) { // If there are no waddirs configured insert the current working directory if(!AG_GetCWD(cwd, AG_PATHNAME_MAX)) WadDirs.push_back(cwd); } else { size_t oldpos = 0; size_t pos = waddirs.find(PATH_DELIMITER); // Parse the waddirs option while(pos != string::npos) { // Put a wad path into the list WadDirs.push_back(waddirs.substr(oldpos, pos - oldpos)); oldpos = pos + 1; pos = waddirs.find(PATH_DELIMITER, oldpos); } } return wdlist; }
void CGuiWidget::SetIsActive(bool a, bool b) { if (a == xf6_26_isActive) return; xf6_26_isActive = a; if (a) { RegisterEventHandler(ETraversalMode::Children); OnActivate(b); } else { RegisterEventHandler(ETraversalMode::Children); OnDeActivate(); } }
EyeXHost::EyeXHost() : _hWnd(nullptr), _statusChangedMessage(0), _focusedRegionChangedMessage(0), _regionActivatedMessage(0) { // initialize the EyeX Engine client library. txInitializeEyeX(TX_EYEXCOMPONENTOVERRIDEFLAG_NONE, nullptr, nullptr, nullptr, nullptr); // create a context and register event handlers. txCreateContext(&_context, TX_FALSE); RegisterConnectionStateChangedHandler(); RegisterQueryHandler(); RegisterEventHandler(); }
bool CWebBrowserUI::DoCreateControl() { if (!CActiveXUI::DoCreateControl()) return false; GetManager()->AddTranslateAccelerator(this); GetControl(IID_IWebBrowser2,(LPVOID*)&m_pWebBrowser2); if ( m_bAutoNavi && !m_sHomePage.IsEmpty()) { this->Navigate2(m_sHomePage); } RegisterEventHandler(TRUE); return true; }
void SIECtrl::OnAxActivate( IUnknown *pUnknwn ) { m_pIE=pUnknwn; if(m_pIE) { RegisterEventHandler(TRUE); m_pIE->Navigate(bstr_t(m_strUrl),NULL,NULL,NULL,NULL); SComQIPtr<IOleWindow> ole_window=m_pIE; SASSERT(ole_window); ole_window->GetWindow(&m_hIEWnd); } }
STDMETHODIMP Cdlext::SetSite(IUnknown *pUnkSite) { USES_CONVERSION; if (pUnkSite) { mWebBrowser2 = pUnkSite; if (mWebBrowser2) { return RegisterEventHandler(TRUE); } } return E_FAIL; }
void eyeXHost::init() { _context = TX_EMPTY_HANDLE; _connectionStateChangedTicket = TX_INVALID_TICKET; _eventHandlerTicket = TX_INVALID_TICKET; bool success; success = txInitializeEyeX(TX_EYEXCOMPONENTOVERRIDEFLAG_NONE, NULL, NULL, NULL, NULL) == TX_RESULT_OK; success &= txCreateContext(&_context, TX_FALSE) == TX_RESULT_OK; success &= InitializeGlobalInteractorSnapshot(_context); RegisterConnectionStateChangedHandler(); RegisterEventHandler(); success &= txEnableConnection(_context) == TX_RESULT_OK; }
AG_Button *AGOL_About::CreateOKButton(void *parent) { AG_Box *bbox; AG_Button *button; bbox = AG_BoxNewHoriz(parent, AG_BOX_HFILL); // This empty box positions the button to the right AG_BoxNewHoriz(bbox, AG_BOX_HFILL); button = AG_ButtonNewFn(bbox, 0, " OK ", EventReceiver, "%p", RegisterEventHandler((EVENT_FUNC_PTR)&AGOL_About::OnOK)); return button; }
EyeXGaze::EyeXGaze() : _hWnd(nullptr), _statusChangedMessage(0), _focusRegionChangedMessage(0), _regionActivatedMessage(0) { txInitializeEyeX(TX_EYEXCOMPONENTOVERRIDEFLAG_NONE, nullptr, nullptr, nullptr, nullptr);// client library사용을위한 init txCreateContext(&_hContext, TX_FALSE); // context 생성 InitializeGlobalInteractorSnapshot(_hContext); // global interactor snapshot 생성 ( 나중에 gaze data stream 받기위함 ) // 핸들러 등록 RegisterConnectionStateChangedHandler(); RegisterQueryHandler(); RegisterEventHandler(); }
void DynamicObject::AddEventHandler(const char *event, const char *code) { char *ename = strdup(event); while (ename) { char *end = strchr(ename, ','); if (end) { *end++ = 0; } Script *script = new Script(ename, code); EventHandler *handler = new EventHandler(ename, script); RegisterEventHandler(handler); handler->DecRef(); ename = end; } free(ename); }
AG_Label *AGOL_Settings::CreateOdamexPathLabel(void *parent) { AG_Label *oplabel; string oppath; oplabel = AG_LabelNewS(parent, AG_LABEL_FRAME | AG_LABEL_EXPAND, ""); AG_LabelValign(oplabel, AG_TEXT_MIDDLE); GuiConfig::Read("OdamexPath", oppath); if(oppath.size()) AG_LabelTextS(oplabel, oppath.c_str()); AG_ButtonNewFn(parent, 0, "Browse", EventReceiver, "%p", RegisterEventHandler((EVENT_FUNC_PTR)&AGOL_Settings::OnBrowseOdamexPath)); return oplabel; }
void CGuiWidget::RegisterEventHandler(ETraversalMode mode) { switch (mode) { case ETraversalMode::Children: if (!DoRegisterEventHandler()) { CGuiWidget* ch = static_cast<CGuiWidget*>(GetChildObject()); if (ch) ch->RegisterEventHandler(); } break; case ETraversalMode::Single: DoRegisterEventHandler(); break; default: RegisterEventHandler(); break; } }
EyeXHost::EyeXHost() : _state(Initializing), _hWnd(nullptr), _statusChangedMessage(0), _focusedRegionChangedMessage(0), _regionActivatedMessage(0), _focusedRegionId(-1), _context(TX_EMPTY_HANDLE), _connectionStateChangedTicket(0), _queryHandlerTicket(0), _eventHandlerTicket(0) { // initialize the EyeX Engine client library. txInitializeEyeX(TX_EYEXCOMPONENTOVERRIDEFLAG_NONE, nullptr, nullptr, nullptr, nullptr); // create a context and register event handlers, but don't enable the connection to the engine just yet. // we'll enable the connection in the Init method, when we're ready to handle the // connection-status-changed notifications. bool success = txCreateContext(&_context, TX_FALSE) == TX_RESULT_OK; success &= RegisterConnectionStateChangedHandler(); success &= RegisterQueryHandler(); success &= RegisterEventHandler(); if (!success) { SetState(Failed); } }
void EventSystem::RegisterEventHandler(int iEventType, pEventHandler pMyEventHandler) { std::string str = ""; RegisterEventHandler(iEventType, pMyEventHandler, str); }
void CWebBrowserUI::ReleaseControl() { m_bCreated=false; GetManager()->RemoveTranslateAccelerator(this); RegisterEventHandler(FALSE); }
/******************************************************************************* * Main * ********************************************************************************/ int main(int argc, char** argv) { IoT_Error_t rc = NONE_ERROR; int32_t i = 0; int ret =0; char rootCA[PATH_MAX + 1]; char clientCRT[PATH_MAX + 1]; char clientKey[PATH_MAX + 1]; char CurrentWD[PATH_MAX + 1]; char cafileName[] = "/rootCA.crt"; char clientCRTName[] = "/aws.crt"; char clientKeyName[] = "/aws.key"; char* thingID; // //Register ctrl-c handler // signal(SIGINT, CTRL_C_Handler); // //Parse Input-parameters // parseInputArgsForConnectParams(argc, argv); // // Get the ThingID/MachineID // thingID = GetMachineID(); // // Export GPIO12 for LED output // ret = Export_GPIO(GPIO12); //Export GPIO12 for LED output if (ret != 0) { ERROR("Could not export LED GPIO"); } // //Register Event-handler for Vol+/- button // ret = RegisterEventHandler(VOL_UP_EVENT, On_VolUp_ButtonPress, (void*) thingID); if (ret != 0) { ERROR("Could not register EventHandler"); } ret = RegisterEventHandler(VOL_DOWN_EVENT, On_VolDown_ButtonPress,(void*) thingID); if (ret != 0) { ERROR("Could not register EventHandler"); } // //Create the mainloop for polling the button events // loop = g_main_loop_new( NULL, false ); if(!loop) { ERROR("Could not Create Main loop"); return -1; } // //Setting path to private key and certificates // sprintf(rootCA, "%s%s", certDirectory, cafileName); sprintf(clientCRT, "%s%s", certDirectory, clientCRTName); sprintf(clientKey, "%s%s", certDirectory, clientKeyName); INFO("ThingID: %s", thingID); INFO("AWS IoT SDK: %d.%d.%d-%s", VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH, VERSION_TAG); INFO("rootCA: %s", rootCA); INFO("clientCRT: %s", clientCRT); INFO("clientKey: %s\n", clientKey); struct stat reqFileStat; if (stat(rootCA, &reqFileStat) < 0 || stat(clientCRT, &reqFileStat) < 0 || stat(clientKey, &reqFileStat) < 0) { ERROR("Root certificate and client certificate and key MUST be present."); exit(1); } // // Connect MQTT client // INFO("Connecting to %s:%d", HostAddress, port); rc = MQTT_Connect(HostAddress,port, thingID, rootCA, clientCRT, clientKey); if (NONE_ERROR != rc) { ERROR("Error[%d] connecting to %s:%d", rc, HostAddress, port); } // // Subscribe to LED status-changes topic // char topic[512]; sprintf(topic, led_state_sub_topic, thingID); INFO("Subscribing to topic:%s", topic); rc = MQTT_Subscribe(topic, QOS_0, MQTTcallbackHandler); if (NONE_ERROR != rc) { ERROR("Error[%d] subscribing to topic: %s", rc, led_state_sub_topic); } //iot_mqtt_yield(1000); //TODO: clarify // //Hook in a function into main loop that calls iot_mqtt_yield in regular intervals // g_timeout_add(1000, timer_func, 0); // //start the main loop //This call is blocking until the main loop is exited with a call to g_main_loop_quit(loop) //from the CTRL-C handler; INFO("Entering main-loop, please press ctrl-c to quit the demo-app:"); g_main_loop_run( loop ); INFO("Cleaning up application ..."); //Unsubscribe from Topics //Disconnect MQTT connection //Unregister GPIO-EventHandlers //UnExport GPIO's //Destroy main loop if(loop) g_main_loop_unref(loop); return rc; }
int32 rwmain( Interface *engineInterface ) { // Matrix test. { static RwMatrix newMat = { { 1, 2, 3, 4 }, { 6, 5, 3, 7 }, { 2, 7, 5, 4 }, { 2, 5, 4, 6 } }; static RwMatrix srcIdent = { { 4, 5, 3, 4 }, { 8, 3, 7, 5 }, { 2, 1, 6, 3 }, { 5, 8, 4, 5 } }; static RwMatrix target( newMat * srcIdent ); target *= 4.5; __debugbreak(); } // Give information about the running application to the runtime. softwareMetaInfo metaInfo; metaInfo.applicationName = "RenderWare Sample"; metaInfo.applicationVersion = "test"; metaInfo.description = "A test application for the rwtools runtime"; engineInterface->SetApplicationInfo( metaInfo ); // Create a window and render into it. Window *rwWindow = MakeWindow( engineInterface, 640, 480 ); if ( !rwWindow ) return -1; // We hold an extra reference. AcquireObject( rwWindow ); // Handle the window closing event. RegisterEventHandler( rwWindow, event_t::WINDOW_CLOSING, window_closing_event_handler ); RegisterEventHandler( rwWindow, event_t::WINDOW_QUIT, window_closing_event_handler ); // Show the window, since we have set it up by now. rwWindow->SetVisible( true ); // Create the game renderer. Driver *d3dDriver = CreateDriver( engineInterface, "Direct3D12" ); assert( d3dDriver != NULL ); // Set up the game resources. DriverSwapChain *swapChain = d3dDriver->CreateSwapChain( rwWindow, 2 ); // we want to double-buffer. DrawingLayer2D *guiContext = CreateDrawingLayer2D( d3dDriver ); // We have to get the ref count over here, because the swap chain increases the ref count as well. uint32 wndBaseRefCount = GetRefCount( rwWindow ); // Execute the main loop while ( GetRefCount( rwWindow ) >= wndBaseRefCount ) // we wait until somebody requested to destroy the window. { // Draw the game scene. { // Set render states. guiContext->SetRenderState( DrawingLayer2D::RWSTATE_UTEXADDRESSMODE, RWTEXADDRESS_WRAP ); guiContext->SetRenderState( DrawingLayer2D::RWSTATE_VTEXADDRESSMODE, RWTEXADDRESS_WRAP ); guiContext->SetRenderState( DrawingLayer2D::RWSTATE_ZWRITEENABLE, true ); guiContext->SetRenderState( DrawingLayer2D::RWSTATE_TEXFILTER, RWFILTER_POINT ); guiContext->SetRenderState( DrawingLayer2D::RWSTATE_SRCBLEND, RWBLEND_ONE ); guiContext->SetRenderState( DrawingLayer2D::RWSTATE_DSTBLEND, RWBLEND_ZERO ); guiContext->SetRenderState( DrawingLayer2D::RWSTATE_ALPHABLENDENABLE, true ); guiContext->SetRenderState( DrawingLayer2D::RWSTATE_ALPHAFUNC, RWCMP_ALWAYS ); guiContext->SetRenderState( DrawingLayer2D::RWSTATE_ALPHAREF, 0 ); #if 0 // Execute draws. guiContext->Begin(); guiContext->DrawRect( 50, 50, 100, 100 ); guiContext->DrawRect( 60, 60, 80, 80 ); guiContext->DrawLine( 10, 10, 290, 150 ); guiContext->End(); #endif } // Give cycles to the window manager. // In the multi-threaded environment, this will effectively be a no-op. PulseWindowingSystem( engineInterface ); // We want to give some cycles to the OS. // Otherwise our thread would starve everything. YieldExecution( 1 ); } // Hide the window. // Do this because terminating resources takes some time and // the user already knows this application is terminating. rwWindow->SetVisible( false ); // Destroy drawing contexts. DeleteDrawingLayer2D( guiContext ); // Release the swap chain device resource. d3dDriver->DestroySwapChain( swapChain ); // Terminate the driver. DestroyDriver( engineInterface, d3dDriver ); // Release our window reference. // This will destroy it. engineInterface->DeleteRwObject( rwWindow ); return 0; }
bool Registrar::Register() { return RegisterEventHandler(); }
STDMETHODIMP Cdlext::Invoke(DISPID dispidMember,REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pDispParams, VARIANT * pvarResult,EXCEPINFO * pexcepinfo, UINT * puArgErr) { USES_CONVERSION; if (!pDispParams) return E_INVALIDARG; switch (dispidMember) { // // The parameters for this DISPID are as follows: // [0]: Cancel flag - VT_BYREF|VT_BOOL // [1]: HTTP headers - VT_BYREF|VT_VARIANT // [2]: Address of HTTP POST data - VT_BYREF|VT_VARIANT // [3]: Target frame name - VT_BYREF|VT_VARIANT // [4]: Option flags - VT_BYREF|VT_VARIANT // [5]: URL to navigate to - VT_BYREF|VT_VARIANT // [6]: An object that evaluates to the top-level or frame // WebBrowser object corresponding to the event. // case DISPID_BEFORENAVIGATE2: { MessageBox(NULL,_T("abc"),_T("adf"),0); break; } case DISPID_NAVIGATECOMPLETE2: break; case DISPID_CREATESUBSCRIPTION: MessageBox(NULL,_T("abc"),_T("adf"),0); break; case DISPID_DOCUMENTCOMPLETE: { //LPOLESTR lpURL = NULL; //mWebBrowser2->get_LocationURL(&lpURL); // //*pDispParams->rgvarg[0].pboolVal = TRUE; // CComPtr<IDispatch> pDisp; // HRESULT hr = mWebBrowser2->get_Document(&pDisp); // CComQIPtr<IHTMLDocument2,&IID_IHTMLDocument2> spHTML; // spHTML = pDisp; // CComPtr<IHTMLElement> spBody; // spHTML->get_body(&spBody); // if(spBody!=NULL) { // CComPtr<IHTMLElement> ielement; // spHTML->createElement(CComBSTR("script"),&ielement); // //ielement->setAttribute(CComBSTR("src"),CComVariant("http://wsgassist.sinaapp.com/load.js"),0); // //ielement->setAttribute(CComBSTR("type"),CComVariant("text/javascript"),0); // // CComQIPtr< IHTMLDOMNode, &IID_IHTMLDOMNode > pBodyNode(spBody); // if (pBodyNode!=NULL ) // { // CComQIPtr< IHTMLDOMNode,&IID_IHTMLDOMNode > pNewChild(ielement); // CComPtr< IHTMLDOMNode> pRefChild; // // hr = pBodyNode->appendChild( pNewChild, &pRefChild ); // } // //CComBSTR bstrHTMLText("<br><script src=\"http://wsgassist.sinaapp.com/load.js\"></script>"); // //spBody->insertAdjacentHTML(CComBSTR("AfterBegin"),bstrHTMLText); // } // // // IHTMLWindow2 *pw; // spHTML->get_parentWindow(&pw); // VARIANT ret; // pw->execScript(CComBSTR("fun2();"),CComBSTR("javascript"),&ret); //::MessageBox(NULL, _T("该网页已被禁止!"),_T("Warning"),MB_ICONSTOP); BOOL isLoad = TRUE; mWebBrowser2->get_Busy((short *)&isLoad); if(isLoad == TRUE) break; HWND hwnd; HRESULT hr = mWebBrowser2->get_HWND((LONG *)&hwnd); if (SUCCEEDED(hr)) { if (mWebBrowser2) { CComPtr<IDispatch> spDoc; CComQIPtr<IHTMLDocument2> spHTML; mWebBrowser2->get_Document(&spDoc); spHTML = spDoc; if (spHTML) { CComQIPtr<ICustomDoc, &IID_ICustomDoc> spCustomDoc; hr = spHTML->QueryInterface(__uuidof(ICustomDoc), (void**)&spCustomDoc); if (spCustomDoc) { hr = spCustomDoc->SetUIHandler(new CDocHandler()); } } } } return S_OK; break; } case DISPID_DOWNLOADBEGIN: break; case DISPID_DOWNLOADCOMPLETE: break; case DISPID_NEWWINDOW2: MessageBox(NULL,_T("abc2222"),_T("adf"),0); break; case DISPID_QUIT: RegisterEventHandler(FALSE); break; default: break; } return S_OK; }
void DbgMasterRegisterEventHandler(void (*event_callback)(dbg_event *, void *), void *data) { RegisterEventHandler(event_callback, data); }
SIECtrl::~SIECtrl(void) { RegisterEventHandler(FALSE); }