1. 10 9月, 2018 1 次提交
  2. 28 8月, 2016 1 次提交
    • J
      UI: Rename 'obs' dir to 'UI' · 01b274f1
      jp9000 提交于
      This is to prevent confusion both when prefixing commits and when
      reading the directory structure for the first time.
      01b274f1
  3. 05 8月, 2015 1 次提交
    • J
      UI: Refactor OBSQTDisplay for windowless context · 34226311
      jp9000 提交于
      (Non-compiling commit: windowless-context branch)
      
      This makes it so that OBSQTDisplay now uses/controls an obs_display
      object directly (rather than having the owner have to associate an
      OBSDisplay with it).  It was separated before because the main window
      for the basic UI would was using the "main preview" stuff before the
      windowless context and had to be handled differently, so you couldn't
      just associate an obs_display object with OBSQTDisplay, meaning that all
      "secondary" previews such as properties/filters/etc had to handle the
      obs_display alone, which caused a lot of needlessly duplicated code.
      
      Also adds a DisplayCreated signal to allow owners to be able to add
      callbacks and such on creation of the actual obs_display context.
      34226311
  4. 09 5月, 2015 1 次提交
  5. 26 3月, 2015 1 次提交
    • J
      UI: Emit DisplayResized() viewport signal · bf6e8382
      jp9000 提交于
      This allows knowing when the graphics viewport itself changes in size
      (in case the window with the graphics viewport does not change size)
      bf6e8382
  6. 25 1月, 2014 1 次提交
  7. 24 1月, 2014 2 次提交
    • J
      Fix render issues with main preview widget · 4cba9d33
      jp9000 提交于
       - I seem to have fixed ths issues with the main preview widget.  It
         seems you just need to set the right window attributes to stop it from
         breaking.  Though when opengl is enabled, there appears to be a weird
         background glitch in the Qt stuff -- I'm not entirely sure what's
         going on.  Bug in Qt?
      
         Also fixed the layout issues, and the widget now properly resizes and
         centers in to its parent widget.
      
       - Prevent the render loop from accessing data if the data isn't valid.
         Because obs->data is freed before the graphics stuff, it can cause
         the graphics to keep trying to query the obs->data.displays_mutex
         after it had already been destroyed.
      4cba9d33
    • J
      Change the UI to Qt (work in progress) · afeed34b
      jp9000 提交于
      ```-----------------------------------------------
      Notes and details
      ```
      
      -----------------------------------------------
      Why was this done?  Because wxWidgets was just lacking in many areas.  I
      know wxWidgets is designed to be used with native controls, and that's
      great, but wxWidgets just is not a feature-complete toolkit for
      multiplatform applications.  It lacks in dialog editors, its code is
      archaic and outdated, and I just feel frustrated every time I try to do
      things with it.
      
      Qt on the other hand..  I had to actually try Qt to realize how much
      better it was as a toolkit.  They've got everything from dialog editors,
      to an IDE, a debugger, build tools, just everything, and it's all
      top-notch and highly maintained.  The focus of the toolkit is
      application development, and they spend their time trying to help
      people do exactly that:  make programs.  Great support, great tools,
      and because of that, great toolkit.  I just didn't want to alienate any
      developers by being stubborn about native widgets.
      
      There *are* some things that are rather lackluster about it and design
      choices I disagree with though.  For example, I realize that to have an
      easy to use toolkit you have to have some level of code generation.
      However, in my personal and humble opinion, moc just feels like a
      terrible way to approach the problem.  Even now I feel like there are a
      variety of ways you could handle code generation and automatic
      management of things like that.  I don't like the idea of circumventing
      the language itself like that.  It feels like one giant massive hack.
      
      --------------------------------------------------
      Things that aren't working properly:
      --------------------------------------------------
       - Settings dialog is not implemented.  The dialog is complete but the
         code to handle the dialog hasn't been constructed yet.
      
       - There is a problem with using Qt widgets as a device target on
         windows, with at least OpenGL: if I have the preview widget
         automatically resize itself, it seems to cause some sort of video
         card failure that I don't understand.
      
       - Because of the above, resizing the preview widget has been disabled
         until I can figure out what's going on, so it's currently only a
         32x32 area.
      
       - Direct3D doesn't seem to render correctly either, seems that the
         viewport is messed up or something.  I'm sort of confused about
         what's going on with it.
      
       - The new main window seems to be triggering more race conditions than
         the wxWidgets main window dialog did.  I'm not entirely sure what's
         going on here, but this may just be existing race conditions within
         libobs itself that I just never spotted before (even though I tend to
         be very thorough with race conditions any time I use variables
         cross-thread)
      afeed34b