Commit Graph

248 Commits

Author SHA1 Message Date
J.D. Purcell 12c64dc40d InputRoll: Fix text clipping too early with GDI+ renderer. 2019-10-27 11:46:21 -04:00
adelikat 290cf4c4a4 InputRoll - attempt to cleanup drawing logic a bit 2019-10-27 09:18:14 -05:00
adelikat 5f021ca0e2 InputRoll - attempt to put some attributes on public properties. This is a control, public properties without attributes and/or documentation should be avoided 2019-10-26 18:35:12 -05:00
adelikat 9d87550c2a Cell - implement == and != overrides, this might fix some subtle problems in input roll 2019-10-26 17:22:49 -05:00
adelikat 6604e5dc17 InputRoll - cleanup and fix some typos 2019-10-26 17:16:15 -05:00
adelikat 0ce5046061 cleanup input roll column and cell classes 2019-10-26 17:06:42 -05:00
adelikat b54be19e9e InputRoll - reorg - put in its own folder, break out column and cell classes into separate files 2019-10-26 16:49:52 -05:00
adelikat 14ffd143d4 InputRoll - fix placement of rotated text 2019-10-26 16:25:42 -05:00
adelikat 5a17d20cf0 InputRoll - some more cleanup 2019-10-26 16:20:27 -05:00
adelikat af59d2fe6b InputRoll - misc cleanups 2019-10-26 16:04:27 -05:00
adelikat d592526c3c InputRoll - stop passing around unused paint event args 2019-10-26 15:47:43 -05:00
adelikat f7b2982dad Merge branch 'inputroll-rotatefix' 2019-10-26 15:37:47 -05:00
J.D. Purcell d2cf95e18f GdiPlusRenderer: Implement string rotation. 2019-10-26 16:31:21 -04:00
adelikat 772bd5b65e Remove blend option in IControlRenderer, true was always being passed for GDI, so just always do alpha blend in GDI 2019-10-26 15:22:47 -05:00
adelikat 064a78d7f3 inputroll - fix crash when resized to 0 2019-10-26 14:37:42 -05:00
adelikat e21e861e99 temp hack to force tastudio to draw the frame column rotated in horizontal orientation 2019-10-26 14:22:19 -05:00
adelikat f6b0fa1550 GdiRenderer - cleanup font caching logic and fix rotated text 2019-10-26 12:59:30 -05:00
adelikat e11f3e68e7
Merge pull request #1704 from TASVideos/GdipRenderer1
GdiPlusRenderer: Remove caches, implement Dispose
2019-10-26 12:45:16 -05:00
J.D. Purcell 4e2818222d GdiPlusRenderer: Remove caches, implement Dispose. 2019-10-26 13:40:20 -04:00
YoshiRulz 5e5f69f07e
Move _vBar/_hVar init out of ctor, init CellHeight to non-zero
CellHeight/_vBar/_hBar were being read *while the ctor was running* due to
unexplained Mono magic (and hence their values were 0/null/null, respectively)
2019-10-27 03:38:30 +10:00
adelikat 9bbfb995b8 GDIPlusRenderer - put off rotate text, for now 2019-10-26 11:26:12 -05:00
adelikat 8977137e84 GDIPlusRenderer - cleanup 2019-10-26 11:11:38 -05:00
adelikat 2e489763b9 use OSTailoredCode class to decide GDI vs GDIPlus renderering 2019-10-25 18:20:13 -05:00
YoshiRulz b5d188ad5e
Migrate RAM Search to PAVLV 2019-10-25 22:04:56 +10:00
YoshiRulz fb29663ce6
Platform-agnostic VirtualListView 2019-10-25 21:11:54 +10:00
YoshiRulz d0159ee565
Port InputRoll by adding GDI+ implementation
also available for Windows users via a toggle in TAStudio
2019-10-25 19:17:50 +10:00
adelikat 28dcae6c8b GDIPlus renderer - use brush cache for text drawing 2019-10-24 16:35:07 -05:00
Asnivor 2e8d7346c3 InputRoll: Implement proper double buffering (improves gdi+ inputroll performance by a factor of 8 or 9 on my machine) 2019-10-24 15:49:51 -05:00
adelikat 7b7e9a269a Rough in of a GDI+ Renderer implementation 2019-10-24 15:49:51 -05:00
adelikat b7f8f830e0 move some font shenanigans into GDI Renderer instead of input roll 2019-10-24 15:49:51 -05:00
adelikat b4a38597a6 remove unnecessary hack 2019-10-24 15:49:51 -05:00
adelikat f86b218111 Renderer doc fix 2019-10-24 15:49:51 -05:00
adelikat 9dc91e508e simplify renderer api 2019-10-24 15:49:51 -05:00
adelikat ca2767c536 HexView - cleanup and comment out GDIREnderer for now 2019-10-24 15:49:51 -05:00
adelikat 92d6769b06 inputroll - rename renderer variable 2019-10-24 15:49:50 -05:00
adelikat 0a7db2ad4d cleanup GDI Renderer 2019-10-24 15:49:50 -05:00
adelikat 74450ee0a6 create an interface for GDIRenderer 2019-10-24 15:49:50 -05:00
adelikat bc4498b9dd VirtualListView begone! 2019-10-19 20:06:59 -05:00
adelikat 9100526a0c Convert debugger to use InputRoll instead of VirtualListView 2019-10-19 19:16:45 -05:00
adelikat bd0c81d791 InputRoll - don't blow up if QueryItemBkColor isn't defined 2019-10-19 14:59:57 -05:00
adelikat de01596617 delete unused TasListView, not sure what this was trying to be 2019-10-19 13:07:36 -05:00
adelikat b5d05e0f0c InputRoll - properly calculate if a vertical scrollbar is needed 2019-10-19 13:01:53 -05:00
adelikat f96e778c35 remove unused method 2019-10-19 11:46:56 -05:00
adelikat 7428a5d244 InputRoll - if column resize is enabled, double clicking a column edge resizes it to fit the text 2019-10-19 11:45:18 -05:00
adelikat fb2048075c InputRoll - cutoff text if it overflows the cell 2019-10-19 11:21:34 -05:00
adelikat 427f51f407 fix inputroll vertical scrollbar logic 2019-10-18 20:02:58 -05:00
adelikat b60ed03543 inputroll - column resizing (not implemented for HorizontalOrientation yet) 2019-10-18 10:05:26 -05:00
James Groom 90b0574bc3
Remove unnecessary calls to ToList (e.g. in foreach)
squashed PR #1591
2019-10-13 15:50:57 +00:00
J.D. Purcell 0dcb0b9bb4 Fix DPI scaling issue in custom message boxes (Snex9x/QuickNES accuracy warnings). 2019-10-12 22:34:53 -04:00
YoshiRulz 2642ef4049
Remove empty docs 2019-06-06 16:41:10 +10:00
James Groom f599b33ee2
Don't change cell selection while context menu is open (resolves #1551) 2019-04-21 14:24:58 +00:00
James Groom 779975f689
Use nameof 2019-03-28 14:17:14 +11:00
YoshiRulz e6374ef477
Use string interpolation 2019-03-19 00:06:37 +10:00
Isotarge c5407472cd TAStudio: Prevent exceptions with small window size 2018-10-18 21:21:52 +10:30
feos 74d5797a6f tastudio: don't let ctrl+up go oob 2018-03-11 15:04:41 +03:00
TASeditor 47255deef5 fix selection (#1134)
fix selection going out of bounds
2018-03-10 20:35:07 +03:00
TASeditor 6580c2abef Tastudio: drawing stuff, selection, patterns, add column lua function (#1125)
* alt+columnclick draws pattern
* selection: taseditor logic
* shift/ctrl keys restructure to taseditor
shift + up/down: move frame courser up/down by one
shift + pageup/pagedown: move frame courser to next/prev marker
ctrl + left/right: add/remove selection at last selected row
ctrl + shift + left/right: add/remove selection at first selected row
* Alt+drawing pattern
still not working with drawing upwards
* pattern drawing
upwards drawing working except it doesn't update last row.
TODO: Disallow Alt click to focus on menu.
* pattern: last input ignoring fixed
* Lua columnms
TODO: Don't save them into tasproj
* no need to update float edit stuff or cell changes when its not needed
* Shift+clicking draws input from first selected row to clicked cell
* fixed pattern drawing on empty cells
2018-03-08 22:15:47 +03:00
frequem d0d73766bd Fixed some filenames causing problems on case-sensitive systems 2018-02-21 20:19:33 -05:00
zeromus 5d22dfac0e fix custom listview win32 structs for 64bits (not 100% sure I did this correctly) 2017-07-23 10:16:55 -05:00
zeromus e1d0ea2bcb fix prereq alert target url (fixes #910) 2017-07-09 13:23:04 -05:00
zeromus 390e5b1a26 fix avi dumping on x64
problem was 4bytes only gap before lpParams.
did I break the struct for 32bit?
2017-06-20 23:27:44 -05:00
feos 6bc542cc56 tastudio: fix _columnDown being drawn without moving
used to happen when you click the column header with rows selected
2017-05-29 20:37:27 +03:00
adelikat 19dde8018a InputRoll cleanups 2017-05-24 11:45:57 -05:00
nattthebear ebe789eed2 heh 2017-05-10 07:45:23 -04:00
J.D. Purcell b53502eed8 Spaces -> tabs. 2017-04-15 16:37:30 -04:00
J.D. Purcell ed3bf0e62b Fix mixed line endings. 2017-04-15 15:53:02 -04:00
J.D. Purcell b2a28339d1 Use 'nameof' operator. 2017-04-10 08:36:42 -04:00
J.D. Purcell a786f73154 Fix some places using 'int' instead of IntPtr. (#828) 2017-04-08 18:36:29 -04:00
feos 0ec0910207 tastudio: move screenshot popup to yet another control to allow fading
avoid false branch 0 hover when entering branch view from the top

todo: hide screenshot when moving upwards to header cell
2017-03-08 16:31:49 +03:00
feos 885a57d91e tastudio: it's never enough, fix #800 (row count cap) 2017-02-15 19:54:45 +03:00
feos 17faf42b6e tastudio: try to be a bit smarter with SelectedIndexChanged
forces SetSplicer() calls, but only at InputRoll's OnMouseDown, the rest is handled by tastudio
2017-01-19 21:55:18 +03:00
feos 433d4ad693 tastudio: revive ColumnsChangedCallback, and alarm if it dies again 2016-11-17 21:30:42 +03:00
feos 2a9bd175d8 tastudio: kill zombie denoteStatesWithBGColor and co. in InputRoll, having them in Settings is enough 2016-11-17 20:25:06 +03:00
adelikat 36dcf53cc0 on specialized number boxes, select all text when reseting an empty box to a default value. This fixes #685 2016-11-09 10:19:49 -06:00
adelikat bb1a3e3221 PrereqsAlert - give a little more vertical space to the general advice box so the user can see the final message (that we will keep nagging them) 2016-11-07 12:20:54 -06:00
hegyak b3d91049de Change PrereqsAlert.Designer.cs to point to GitHub instead of SF 2016-09-27 18:06:54 -07:00
Kyle Howell 3d88f77ec6 Fixed TAStudio crash when deselecting "Show Player X". The horizontal scrollbar was not updated which caused an exception when scrolling to the right. 2016-09-25 16:55:34 -06:00
Kyle Howell 4834e31bb8 Fixed bug with InputRoll selected rows drawing hidden columns. 2016-09-25 14:04:57 -06:00
Kyle Howell d66181a597 Fixed bug with right click inputRoll selction. 2016-09-25 12:47:37 -06:00
feos 7d1084bf98 tastudio: change internals of editing input during scrolling.
for now it only makes a single edit per click, since we only recalculate OnMouseDown if scrolling. this is required to get rid of scrolling recursion caused by various actions.

also ClearLeftMouseStates before saving dialog pops up
2016-09-08 22:22:33 +03:00
feos ba895e3bad tastudio:
- fix recursion in cell updates caused by clicking cursor column (fixes scrolling)
- display invalidated color consistently

n64: fix trace callback prototype
2016-09-04 12:03:12 +03:00
feos b4a9123515 tastudio: fix editing while unpaused + left button held scenario.
now it replicates taseditor:
- editing input while unpaused, if autorestore is off, resumes emulation and ignores seek frame. if you keep holding the LMB, and follow cursor is on, it will keep scrolling, drawing and emulating
- editing input while unpaused, if autoresotre is on, fires autorestore and then just pauses on the seek frame

what's different from taseditor:
- with autorestore and follow cursor on, if you hold the button, and seek frame is below the view, it will keep scrolling down, drawing new input and emulating. taseditor does *not* follow cursor while seeking.

this all doesn't necessarily make sense, but we need people to figure out what is best for work.
2016-07-11 21:39:32 +03:00
feos f23767ae6a tastudio: properly set input while unpaused
replicates taseditor behavior: if autorestore is off, emulation resumes running, otherwise it pauses on it.
todo: fix this during left button held
2016-07-10 22:25:02 +03:00
feos 53c7f4e5be tastudio: ignore inputroll hotkeys and numeric branch hotkeys during float editing mode. 2016-05-07 15:05:07 +03:00
zeromus a7f03d4c2c make direct3d9 prereq check non-fatal and make d3d display method initialization fail non-fatal, falling back to gdi+ 2016-05-05 09:01:01 -05:00
feos dc18535b88 tastudio: use VisibleRows instead of SeekingCutoffInterval.
allow SelectedIndexChanged again, just not use it in tasview. can we comment out in designers like that?
2016-04-17 21:02:21 +03:00
feos f5746a7b8f tastudio: stop updating splicer after every new cell is appended.
quick fix to #597.
fix crash when pasting input beyond movie length. todo: make input log append like PasteInsert does.
2016-04-17 13:52:58 +03:00
feos a18648dc45 GDIRenderer: add a method to create NormalFont using the LOGFONT features.
InputRoll: make the font match what fceux uses. padding still works oddly though.
2016-04-17 11:47:18 +03:00
zeromus 5a6ffe022a fix tastudio font bugs, some mine, some not mine 2016-04-17 03:07:07 -05:00
zeromus 1bde0c5a72 GDIRenderer - fix bugs in using any font but the old default gdi font (i.e. System) while rendering to offscreen bitmaps (e.g. tastudio) 2016-04-16 17:13:49 -05:00
feos 2fafd85064 InputRoll: stop switching to RotatedFont when we're in vertical orientation.
Still doesn't care about the font we set, since it's never created in gdirenderer.
2016-04-16 21:46:47 +03:00
zeromus 6b013d6d94 fix VirtualListView (incl. movie open dialog) on x64 2016-04-07 15:25:14 -05:00
zeromus 4e13f205d4 update and clarify prereqsalert urls and guidance 2016-03-21 21:08:09 -05:00
zeromus e0d74c7718 better error handling in shader compiling. kind of sloppy, but gets the job done. entire system could use a little rethinking, if i ever revisit filters 2016-02-03 02:28:03 -06:00
feos d39aa6433e tastudio: implement SeekingCutoffInterval 2016-01-27 16:18:20 +03:00
zeromus 192458a190 try catching some missing prereqs in emuhawk startup and print a report about it 2016-01-14 01:50:41 -06:00
adelikat ac1c7d0992 HexView - setting up some API 2015-12-24 15:46:57 -05:00
adelikat 60692450e8 New Hex Editor - add the plumbing for the HexView widget, that will use the GDIRenderer as the basis for the drawing. 2015-12-24 11:15:29 -05:00
zeromus 22143f99fb work on stability of avi writing. Unfortunately, I did a half dozen things here, overlapping in complicated ways, and at least 2 of which were required to fix it: changed pinvoke wrapper of AVISaveOptions, removed ownership of pointers from codec token (simplified analysis and in principle [but not practice] determinism due to less GC involvement), changed life cycle management of codec token (irrelevant due to prior), changed functions used to allocate memory from AllocHGlobal to pinvoke HeapAlloc, made different assumptions of ownership/lifecycle of pointers accessed by AVISaveOptions. notably the pinvoke wrapper for AVISaveOptions was the last thing I fixed that sealed the deal, but I don't think it was that simple. 2015-12-19 05:13:31 -06:00
feos 4bc74ce36e tastudio: arrow keys start making sense.
up/down - scroll tasview.
ctrl-up/down - move selection.
shift-up/down - append selection.
removed ctrl-shift-R, duplicate of ctrl-shift-F.
2015-12-03 23:06:28 +03:00