• Advertisement

Jacob Jingle

Member
  • Content count

    253
  • Joined

  • Last visited

Community Reputation

226 Neutral

About Jacob Jingle

  • Rank
    Member
  1. Microsoft's Faster Menus

    Quality control. The menu should look and behave like its counterpart in other operating systems. Annoyance factor. You shouldn't have to click on a menu 3 to 4 times just to get rid of it if after you change your mind and decide you don't need it. It makes the menu(and app by association) seem buggy and slow.
  2. Microsoft's Faster Menus

    Your question kind of got me my answer: their menu isn't a menu, it's a tool bar(command bar). I don't believe they had that back when they made notepad. Thanks for your help.
  3. Microsoft's Faster Menus

    I dunno, minus little things like 'GetMessage' not dealing with -1, Microsoft's code looks ok.   Microsoft's 'Win32 Project' wizard generated code: // crapcrap345.cpp : Defines the entry point for the application. // #include "stdafx.h" #include "crapcrap345.h" #define MAX_LOADSTRING 100 // Global Variables: HINSTANCE hInst; // current instance TCHAR szTitle[MAX_LOADSTRING]; // The title bar text TCHAR szWindowClass[MAX_LOADSTRING]; // the main window class name // Forward declarations of functions included in this code module: ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM); int APIENTRY _tWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPTSTR lpCmdLine, _In_ int nCmdShow) { UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); // TODO: Place code here. MSG msg; HACCEL hAccelTable; // Initialize global strings LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadString(hInstance, IDC_CRAPCRAP345, szWindowClass, MAX_LOADSTRING); MyRegisterClass(hInstance); // Perform application initialization: if (!InitInstance (hInstance, nCmdShow)) { return FALSE; } hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_CRAPCRAP345)); // Main message loop: while (GetMessage(&msg, NULL, 0, 0)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } } return (int) msg.wParam; } // // 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_CRAPCRAP345)); wcex.hCursor = LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wcex.lpszMenuName = MAKEINTRESOURCE(IDC_CRAPCRAP345); wcex.lpszClassName = 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) { HWND hWnd; hInst = hInstance; // Store instance handle in our global variable hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); if (!hWnd) { return FALSE; } ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); return TRUE; } // // 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); // Parse the menu selections: switch (wmId) { case IDM_ABOUT: DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); break; case IDM_EXIT: DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } break; case WM_PAINT: hdc = BeginPaint(hWnd, &ps); // TODO: Add any drawing code here... EndPaint(hWnd, &ps); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } // Message handler for about box. INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { UNREFERENCED_PARAMETER(lParam); switch (message) { case WM_INITDIALOG: return (INT_PTR)TRUE; case WM_COMMAND: if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) { EndDialog(hDlg, LOWORD(wParam)); return (INT_PTR)TRUE; } break; } return (INT_PTR)FALSE; }
  4. How does Microsoft achieve their more responsive window menus?     Standard win32 app project in Visual Studio for desktop: Debug/Retail, it doesn't matter, If I double click(left mouse) on 'File' in the menu bar only one of the clicks registers. The second click is always lost. vs. Any Microsoft product: If you double click(left mouse) on 'File' on the menu bar the menu quickly opens and closes. Registers all my mouse clicks.    
  5. Gun Control In Australia vs the USA

      Well first off I don't think any billionaires are going to waste their money making a nuclear bomb. Not even Bill Gates would do that. I think it's a bogus argument.   Second, for the sake of argument, I would hold them to the same standard as our government. Do you trust your government with nuclear missiles?
  6. Gun Control In Australia vs the USA

      I can see the difference, but I can also see that if your neighbor is going to spend hundreds of billions of dollars to develop and build a nuke...He could probably find another way to do the same damage. If you can't trust him with a nuke then you can't trust him with anything. He needs to be locked away.
  7. Gun Control In Australia vs the USA

    Regulations or not, your neighbor could murder you with both, right?
  8. Gun Control In Australia vs the USA

    In the US this has morphed into "Give me positive liberty or give me death."
  9. Gun Control In Australia vs the USA

      You could do this for just about anything.   5 members of SoCal family killed by alleged drunken driver ID'd
  10. Gun Control In Australia vs the USA

      If you can't trust a sane person with a <any hi-tech weapon here>...Why can you trust them with a car, plane, pressure cookers, and the like?
  11. War: China vs. U. S. A. and Japan

    No, I'm pretty sure the majority of the people here know what I meant. Like most Americans, Canadians, Eurabians, and the like, I don't know enough about the people to wager on a war or not.   Note: the last time America thought they knew the people of that region, it walked into another world war and a nuclear bomb being dropped. Both events(War with Japan) were completely avoidable. (Plus let's not forget how our ally in that region at the time was Mao)   Rude/Off topic??? Do you really mean this or is this just fake PC outrage?   In the context of our conversation I wasn't talking about assimilated people. I also wasn't saying they were actually insane or that they were actually aliens. I apologize to anyone who thought I was.
  12. I'm a newbie to OpenGL, so here it goes: How do I remove one fragment shader stage for another? Would I just use glUseProgramStages(...GL_FRAGMENT_SHADER_BIT...) on the new fragment shader and would it then remove the other one? Can a pipeline have more than one fragment shader in use? :/ Like this? Draw call: glUseProgramStages(vert shader) glUseProgramStages(first frag shader) draw stuff; glUseProgramStages(second frag shader) draw stuff
  13. Returning tuple-local variable

    I'm kindof confused over the std::tie function. Is my return code safe? Or is this a local variable error?     std::tuple<std::array<int, 2>, std::array<int, 2>> FunctionThatReturnsTuple() { std::array<int, 2> buff = {1, 2}; std::array<int, 2> buff2 = {1, 2}; return std::tie(buff, buff2); <---- safe? }  
  14. So, windows 8?

    DLNA seems to be downgraded in win 8! :o   It's so bad that I've kept win 7 installed just so I can use it instead. It's just horrible.
  15. My shader worked perfectly before recent Nvidia Update. Now I'm getting the error "ARB_separate_shader_objects requires built-in block gl_PerVertex to be redeclared before accesing its member." I'm new to GLSL shaders, and I just don't know what to do...Any help is greatly appreciated.   If I add: out gl_PerVertex {   vec4 gl_Position; };   It compiles with no errors but nothing is drawn.   //geom #version 430 #define POSITION 0 #define GEOMUV 1 #define INDEX 2 #define FRAG_COLOR 0 layout(points) in; // x, y, width, height layout(triangle_strip, max_vertices = 4) out; uniform mat4 MVP; in Data { ivec4 pos; // x, y, width, height vec2 UV; flat int Index; } vdata[1]; out Data { vec2 UV; flat int Index; } gdata; void main() { int x = vdata[0].pos.x; int y = vdata[0].pos.y; int widthx = vdata[0].pos.z + vdata[0].pos.x; int heighty = vdata[0].pos.w + vdata[0].pos.y; // bottom left quad gl_Position = MVP * vec4(x, heighty, 0, 1); gdata.UV = vec2(0.0, 0.0); gdata.Index = vdata[0].Index; EmitVertex(); // bottom right quad gl_Position = MVP * vec4(widthx, heighty, 0, 1); gdata.UV = vec2(1.0, 0.0); gdata.Index = vdata[0].Index; EmitVertex(); // top right quad gl_Position = MVP * vec4(x, y, 0, 1); gdata.UV = vec2(0.0, 1.0); gdata.Index = vdata[0].Index; EmitVertex(); // top left quad gl_Position = MVP * vec4(widthx, y, 0, 1); gdata.UV = vec2(1.0, 1.0); gdata.Index = vdata[0].Index; EmitVertex(); EndPrimitive(); }  
  • Advertisement