baldurk
d57cc1b188
Add more consistency to docking panels and widgets
...
* Dock panels shouldn't have any frame border or anything like that.
* They should have an external margin of 3 pixels at their border,
but then no further margins on the layouts (like sub-controls for
the pipeline state views.
* Toolbars should be Raised & Panel frames. Later we'll replace them
with actual QToolBars to better customise the painting.
2017-07-28 19:06:46 +01:00
baldurk
541aa23a93
Add menu rendering (both menu bars/menus and popup menus)
2017-07-28 19:06:46 +01:00
baldurk
89945f711d
Switch to SVG topology diagrams
...
* We need to custom paint the SVG at the right devicepixelratio because
Qt seems to be busted at scaling up - nothing I can see causes the
SVG to be rendered at higher than it's default resolution, so you end
up with plain bilinear upscale.
* Since we're doing custom palette swap anyway, it's not much harm to
just render ourselves, as we already basically had a dependency on
QtSvg - just need to add the include files to the dependencies.
2017-07-28 19:06:46 +01:00
baldurk
9434b622a1
Make sure that pan remains unchanged when setting scrollbar range
2017-07-28 19:06:46 +01:00
baldurk
58d6e2540d
Only highlight enabled toolbuttons on hover, not disabled ones
2017-07-28 19:06:46 +01:00
baldurk
c19b4fb0a3
Add some basic style hints for menus and message boxes
2017-07-28 19:06:46 +01:00
baldurk
4591457ad7
Set up custom splitters, for now just empty rects.
...
* May need to revisit this in future depending on what outlining we have
for individual docking widgets
2017-07-28 19:06:45 +01:00
baldurk
01c1365224
Don't draw any frames for status bar items
2017-07-28 19:06:45 +01:00
baldurk
719b7ea478
Fill in the background even for line edits without frames
2017-07-28 19:06:45 +01:00
baldurk
a0bee29162
Make sure not to account for an invisible frame when sizing line edits
2017-07-28 19:06:45 +01:00
baldurk
b63c91da0f
Remove fake box frames around find/goto. Superceded by custom style
2017-07-28 19:06:45 +01:00
baldurk
c471153770
Add styled progress bars, including animations for the 'infinite' case
2017-07-28 19:06:45 +01:00
baldurk
a6f0d07e09
Remove most stylesheet use as this messes with a custom style
...
* Use palettes where a certain colour is needed.
* Still need some solution for table borders in grid layouts
2017-07-28 19:06:44 +01:00
baldurk
a4e4c1fd5d
Don't underline shortcuts by default - we'll handle alt-press later
2017-07-28 19:06:44 +01:00
baldurk
4545ed5bb5
Add custom rendering for spinboxes
2017-07-28 19:06:44 +01:00
baldurk
5ceffa1d1d
Custom tooltip panels
2017-07-28 19:06:44 +01:00
baldurk
048e2c0102
RDStyle is based on QCommonStyle
...
* This gives us a consistent baseline to start from and ensures that any
things we don't customise and leave to defaults will still be the same
wherever we are running.
2017-07-28 19:06:44 +01:00
baldurk
430cdad282
Fix mnemonics showing up in text drawing
2017-07-28 19:06:44 +01:00
baldurk
ad79e2a240
Add custom rendering for combo boxes - also covers frames, lines, items
2017-07-28 19:06:43 +01:00
baldurk
9454ef48df
Draw custom scrollbars
2017-07-28 19:06:43 +01:00
baldurk
e7fd2e24db
Draw checkbox/radio labels ourselves
2017-07-28 19:06:43 +01:00
baldurk
9d67e0f2d9
Add custom drawing for group boxes
2017-07-28 19:06:43 +01:00
baldurk
1cda979d8f
Clear QPixmapCache if style/palette changes (Qt should do this really)
2017-07-28 19:06:43 +01:00
baldurk
cd15947f47
Do our own sizing of the controls we're painting
2017-07-28 19:06:43 +01:00
baldurk
2699ca46e5
Tweak highlight borders
2017-07-28 19:06:42 +01:00
baldurk
1e1cefb1bb
Extract out common code for pushbuttons, to re-use for textbox borders.
2017-07-28 19:06:42 +01:00
baldurk
573d94adf0
Add custom drawn radio and check boxes
2017-07-28 19:06:42 +01:00
baldurk
bbda9de011
Tweak disabled colours for palettes
2017-07-28 19:06:42 +01:00
baldurk
03cf4d2ce3
Customise button rendering in RDStyle
2017-07-28 19:06:42 +01:00
baldurk
c601414e39
Add light and dark palettes to RDStyle
2017-07-28 19:06:42 +01:00
baldurk
26711eca2e
Use MainWindow palette for tooltips
2017-07-28 19:06:41 +01:00
baldurk
247382af51
Fix a few widgets to properly respond to and use style changes
2017-07-28 19:06:41 +01:00
baldurk
3ea74aa73b
Treeview expanders shouldn't be Dark, they should be Text
2017-07-28 19:06:41 +01:00
baldurk
9a782158fd
Fork RDStyle to RDTweakedNativeStyle
...
* The idea is tha this style won't change the palette and will just do
some minimal additions/changes to whatever the native style is, to
work around some rough spots.
2017-07-28 19:06:41 +01:00
baldurk
6cedd3755b
Add custom rendering of tab close buttons
2017-07-28 19:06:41 +01:00
baldurk
2dc577a02c
Update toolwindowmanager to d520d7a
2017-07-28 19:06:41 +01:00
baldurk
3a4327b664
Tweak RangeHistogram painting to better adjust to palettes
2017-07-28 19:06:40 +01:00
baldurk
60ba617f38
Add custom branches/indicators for tree controls
2017-07-28 19:06:40 +01:00
baldurk
b6a73a4bb0
Draw custom coloured tree widget lines over the top of built-in style
2017-07-28 19:06:40 +01:00
baldurk
83c413129e
Add the beginnings of a unified cross-OS style
...
* First thing changed, auto-raise toolbuttons don't sink when enabled,
but remain flat and highlighted.
2017-07-28 19:06:40 +01:00
baldurk
8aaa44d624
Fill out SPIR-V bytes array for compute pipelines
2017-07-28 19:06:40 +01:00
baldurk
7f6dc8d91c
Initialise unread message count to 0
2017-07-28 19:06:40 +01:00
baldurk
58d40fdc26
Don't show 0.0 as the default drawcall duration
2017-07-28 19:06:39 +01:00
baldurk
f3cae89df7
Don't treat combined image/sampler resources as samplers and discard
2017-07-28 19:06:39 +01:00
Janos Pantos
7d46b21fd6
Fix binary compatibility issue caused by 310ada8
...
Move the new multi-view chunk types to the end of GLChunkType enum.
2017-07-28 11:06:21 -07:00
baldurk
fec5b60c67
Use the cached resource ResourceId inside views
...
* Slightly faster than calling to get the resource in WrappedView1 then
looking up its ID.
2017-07-27 16:17:25 +01:00
baldurk
61db91eb42
Cache whether the current pipeline is partially-writing to OM targets
...
* This is updated whenever the OM bindings change, or viewport/scissors
change. Much lower frequency than per-draw where we were calculating
this information during capture.
2017-07-27 16:17:25 +01:00
baldurk
9f172daffc
Don't mark renderstate dirty on each draw, mark dirty on bind
...
* Note this also means we can't mark resources clean when clearing them
since you could bind -> clear -> draw and the resource wouldn't be
re-marked dirty. This isn't much of a loss in precision though since
usually any resource that's cleared is going to be dirty again in
short order, so there's no point trying to track it in the hopes that
it might stay clean.
* For the most part the code was doing this, but there were a couple of
inconsistencies along the way.
2017-07-27 16:17:25 +01:00
baldurk
d27c15a0ab
Refactor render state to use cached resource ranges for views
...
* We also check for null resources and early out before fetching or
constructing the range and doing the intersection test.
2017-07-27 16:17:25 +01:00
baldurk
eba2c65870
Move ResourceRange out of the render state, and cache it in views
...
* We also store depth & stencil read-only state for DSVs and SRVs.
2017-07-27 16:17:25 +01:00