/[RomCheater]/trunk/RomCheater/Docking/UI/UIMemoryViewer.cs
ViewVC logotype

Diff of /trunk/RomCheater/Docking/UI/UIMemoryViewer.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 201 by william, Thu May 31 08:10:25 2012 UTC revision 203 by william, Thu May 31 09:03:53 2012 UTC
# Line 15  namespace RomCheater.Docking.UI Line 15  namespace RomCheater.Docking.UI
15  {  {
16      public partial class UIMemoryViewer : UserControl, IProcessConfig, IAcceptsPlugin<IConfigPlugin>//, IAcceptsMemoryRange      public partial class UIMemoryViewer : UserControl, IProcessConfig, IAcceptsPlugin<IConfigPlugin>//, IAcceptsMemoryRange
17      {      {
18            private bool first_load = true;
19          public UIMemoryViewer()          public UIMemoryViewer()
20          {          {
21              InitializeComponent();              InitializeComponent();
# Line 40  namespace RomCheater.Docking.UI Line 41  namespace RomCheater.Docking.UI
41                  lblAddressMarker.Text = lblAddressMarker.Text + string.Format("{0:X2} ", i);                  lblAddressMarker.Text = lblAddressMarker.Text + string.Format("{0:X2} ", i);
42              }              }
43              this.AcceptedPlugin = null; this.AcceptedProcess = null;              this.AcceptedPlugin = null; this.AcceptedProcess = null;
44    
45                txtAddresses.MouseWheel += new MouseEventHandler(txtAddresses_MouseWheel);
46                txtData.MouseWheel += new MouseEventHandler(txtData_MouseWheel);
47          }          }
48    
49            private void GetFirstNonZeroByte()
50            {
51                if (!DesignMode)
52                {
53                    Sojaner.MemoryScanner.ProcessMemoryReader reader = new Sojaner.MemoryScanner.ProcessMemoryReader();
54                    reader.ReadProcess = this.AcceptedProcess;
55                    reader.OpenProcess();
56                    uint addr = 0;
57                    reader.ReadFirstNonZeroByte(MemoryStart, MemorySize, out addr);
58                    GotoAddress(addr);
59                }
60            }
61    
62          #region IProcessConfig Members          #region IProcessConfig Members
63          private Process _AcceptedProcess;          private Process _AcceptedProcess;
64          public Process AcceptedProcess          public Process AcceptedProcess
# Line 51  namespace RomCheater.Docking.UI Line 69  namespace RomCheater.Docking.UI
69                  _AcceptedProcess = value;                  _AcceptedProcess = value;
70                  update_timer.Enabled = (value != null);                  update_timer.Enabled = (value != null);
71                  UpdateEnabled = update_timer.Enabled;                  UpdateEnabled = update_timer.Enabled;
72                    if (value != null)
73                        GetFirstNonZeroByte();
74              }              }
75          }          }
76          #endregion          #endregion
# Line 359  namespace RomCheater.Docking.UI Line 379  namespace RomCheater.Docking.UI
379          private void txtData_KeyDown(object sender, KeyEventArgs e) { this.Handle_KeyDown(sender, e); }          private void txtData_KeyDown(object sender, KeyEventArgs e) { this.Handle_KeyDown(sender, e); }
380    
381          private void ramScroll_Scroll(object sender, ScrollEventArgs e) { this.Handle_Scroll(sender, e); }          private void ramScroll_Scroll(object sender, ScrollEventArgs e) { this.Handle_Scroll(sender, e); }
382    
383            private ScrollEventArgs GetMouseWheelScrollChange(int WheelDelta)
384            {
385                ScrollEventArgs args = new ScrollEventArgs(ScrollEventType.SmallIncrement,1);
386                if (WheelDelta < 0)
387                {
388                    //// negative: scroll down
389                    //// SmallDecrement -or- LargeDecrement
390                    //if (WheelDelta <= small_scroll_change)
391                    //{
392                    //    args = new ScrollEventArgs(ScrollEventType.SmallDecrement,(int)small_scroll_change);
393                    //}
394                    //if (WheelDelta > small_scroll_change && WheelDelta <= large_scroll_change)
395                    //{
396                    //    args = new ScrollEventArgs(ScrollEventType.LargeDecrement, (int)large_scroll_change);
397                    //}
398                    args = new ScrollEventArgs(ScrollEventType.SmallIncrement, 1);
399                }
400                else
401                {
402                    //// positive: scroll up
403                    //// SmallIncrement  -or- LargeIncrement
404                    //if (WheelDelta <= small_scroll_change)
405                    //{
406                    //    args = new ScrollEventArgs(ScrollEventType.SmallIncrement, (int)small_scroll_change);
407                    //}
408                    //if (WheelDelta > small_scroll_change && WheelDelta <= large_scroll_change)
409                    //{
410                    //    args = new ScrollEventArgs(ScrollEventType.LargeIncrement, (int)large_scroll_change);
411                    //}
412                    args = new ScrollEventArgs(ScrollEventType.SmallDecrement, 1);
413                }
414                return args;
415            }
416    
417            void txtAddresses_MouseWheel(object sender, MouseEventArgs e) { this.Handle_Scroll(sender, GetMouseWheelScrollChange(e.Delta)); }
418            void txtData_MouseWheel(object sender, MouseEventArgs e) { this.Handle_Scroll(sender, GetMouseWheelScrollChange(e.Delta)); }
419          
420    
421          private void Handle_Scroll(object sender, ScrollEventArgs e)          private void Handle_Scroll(object sender, ScrollEventArgs e)
422          {          {
423              //isScrolling = true;              //isScrolling = true;
# Line 374  namespace RomCheater.Docking.UI Line 433  namespace RomCheater.Docking.UI
433              switch (e.Type)              switch (e.Type)
434              {              {
435                  case ScrollEventType.SmallDecrement:                  case ScrollEventType.SmallDecrement:
436                      this.CURRENT_TOP_ADDR -= (small_scroll_change);                      if (this.CURRENT_TOP_ADDR == 0 && ((this.CURRENT_TOP_ADDR - small_scroll_change) > this.CURRENT_TOP_ADDR))
437                        {
438                            this.CURRENT_TOP_ADDR = ORIGINAL_ADDR;
439                        }
440                        else
441                        {
442                            this.CURRENT_TOP_ADDR -= (small_scroll_change);
443                        }
444                      break;                      break;
445                  case ScrollEventType.SmallIncrement:                  case ScrollEventType.SmallIncrement:
446                      this.CURRENT_TOP_ADDR += (small_scroll_change);                      this.CURRENT_TOP_ADDR += (small_scroll_change);
447                      break;                      break;
448    
449                  case ScrollEventType.LargeDecrement:                  case ScrollEventType.LargeDecrement:
450                      this.CURRENT_TOP_ADDR -= (large_scroll_change);                      if (this.CURRENT_TOP_ADDR == 0 && ((this.CURRENT_TOP_ADDR - large_scroll_change) > this.CURRENT_TOP_ADDR))
451                        {
452                            this.CURRENT_TOP_ADDR = ORIGINAL_ADDR;
453                        }
454                        else
455                        {
456                            this.CURRENT_TOP_ADDR -= (large_scroll_change);
457                        }
458                      break;                      break;
459                  case ScrollEventType.LargeIncrement:                  case ScrollEventType.LargeIncrement:
460                      this.CURRENT_TOP_ADDR += (large_scroll_change);                      this.CURRENT_TOP_ADDR += (large_scroll_change);

Legend:
Removed from v.201  
changed lines
  Added in v.203

  ViewVC Help
Powered by ViewVC 1.1.22