Search Results

Search found 19699 results on 788 pages for 'touch screen'.

Page 325/788 | < Previous Page | 321 322 323 324 325 326 327 328 329 330 331 332  | Next Page >

  • Views : ViewControllers, many to one, or one to one?

    - by conor
    I have developed an Android application where, typically, each view (layout.xml) displayed on the screen has it's own corresponding fragment (for the purpose of this question I may refer to this as a ViewController). These views and Fragments/ViewControllers are appropriately named to reflect what they display. So this has the effect of allowing the programmer to easily pinpoint the files associated with what they see on any given screen. The above refers to the one to one part of my question. Please note that with the above there are a few exceptions where very similar is displayed on two views so the ViewController is used for two views. (Using a simple switch (type) to determine what layout.xml file to load) On the flip side. I am currently working on the iOS version of the same app, which I didn't develop. It seems that they are adopting more of a one-to-many (ViewController:View) approach. There appears to be one ViewController that handles the display logic for many different types of views. In the ViewController are an assortment of boolean flags and arrays of data (to be displayed) that are used to determine what view to load and how to display it. This seems very cumbersome to me and coupled with no comments/ambiguous variable names I am finding it very difficult to implement changes into the project. What do you guys think of the two approaches? Which one would you prefer? I'm really considering putting in some extra time at work to refactor the iOS into a more 1:1 oriented approach. My reasoning for 1:1 over M:1 is that of modularity and legibility. After all, don't some people measure the quality of code based on how easy it is for another developer to pick up the reigns or how easy it is to pull a piece of code and use it somewhere else?

    Read the article

  • Monitor does not work past certain resolution.

    - by Steve Stifler
    I have a Macbook 5.1 with Snow Leopard, and a Samsung SyncMaster 2253BW that I use for an external monitor. I connect it to my laptop via a DVI-to-MiniDisplayPort adapter. Whenever I try to set the resolution of the monitor to 1680x1050, its maximum resolution (at least the only one that fills the entire screen), the screen flickers once or twice before claiming there is no source attached. I've had this issue since the first time I tried to connect the two, however for some reason for a brief period in time the monitor would successfully display at full resolution. All lower resolutions work fine too, it's just at 1680x1050 that the problems occur. Any ideas as to why this is happening? Thanks.

    Read the article

  • Hard time installing Ubuntu

    - by Nick
    I have a MSI GT780DXR that currently is booting windows 7. I've been trying to dual boot windows 7 and ubuntu for some time now. Here's specs that I think would make a difference Windows 7 500GB*2 RAID 0 hard drives. (Hardware RAID I'm not sure if it's a dedicated RAID card though) 7200RPM Nvidia GT570M Background: I tried to install 12.04 (64 bit) a few times but the Desktop live cd and pendrive boots with a black screen. I've tried wubi but it boots to a black screen as well. I then tried the alternative 12.04 (64 bit) and went through the installation all the way til partitioning. I let Ubuntu notice the raid setup and I setup my swap, /, and home drives, I used my free space to create the three partitions. I tried to resize the windows drive and it told me I couldn't and to be happy with my current setup. When I finally got past I got an error on installing GRUB 2 and decided to skip it and continued on to finish installation. When I tried to boot up I got an invalid partition table error. Windows recovery disc, and a GPARTED live cd couldn't find any hard drives. I ended up following advice and typed this into the recovery command prompt. bootrec /fixmbr bootrec /fixboot bootrec /rebuildBcd It worked and here I am now. The question is, how would I be able to dual boot windows 7 and Ubuntu 12.04 with this information? Thanks,

    Read the article

  • Collision with half of a semi-circle

    - by heitortsergent
    I am trying to port a game I made using Flash/AS3, to the Windows Phone using C#/XNA 4.0. You can see it here: http://goo.gl/gzFiE In the flash version I used a pixel-perfect collision between meteors (it's a rectangle, and usually rotated) that spawn outside the screen, and move towards the center, and a shield in the center of the screen(which is half of a semi-circle, also rotated by the player), which made the meteor bounce back in the opposite direction it came from, when they collided. My goal now is to make the meteors bounce in different angles, depending on the position it collides with the shield (much like Pong, hitting the borders causes a change in the ball's angle). So, these are the 3 options I thought of: Pixel-perfect collision (Microsoft has a sample) , but then I wouldn't know how to change the meteor angle after the collision 3 BoundingCircle's to represent the half semi-circle shield, but then I would have to somehow move them as I rotate the shield. Farseer Physics. I could make a shape composed of 3 lines, and use that as the collision object for the shield. Is there any other way besides those? Which would be the best way to do it(it's aimed towards mobile devices, so pixel-perfect is probably not a good choice)? Most of the time there's always a easier/better way than what we think of...

    Read the article

  • OpenGL depth texture wrong

    - by CoffeeandCode
    I have been writing a game engine for a while now and have decided to reconstruct my positions from depth... but how I read the depth seems to be wrong :/ What is wrong in my rendering? How I init my depth texture in the FBO gl::BindTexture(gl::TEXTURE_2D, this->textures[0]); // Depth gl::TexImage2D( gl::TEXTURE_2D, 0, gl::DEPTH32F_STENCIL8, width, height, 0, gl::DEPTH_STENCIL, gl::FLOAT_32_UNSIGNED_INT_24_8_REV, nullptr ); gl::TexParameterf(gl::TEXTURE_2D, gl::TEXTURE_MAG_FILTER, gl::NEAREST); gl::TexParameterf(gl::TEXTURE_2D, gl::TEXTURE_MIN_FILTER, gl::NEAREST); gl::TexParameterf(gl::TEXTURE_2D, gl::TEXTURE_WRAP_S, gl::CLAMP_TO_EDGE); gl::TexParameterf(gl::TEXTURE_2D, gl::TEXTURE_WRAP_T, gl::CLAMP_TO_EDGE); gl::FramebufferTexture2D( gl::FRAMEBUFFER, gl::DEPTH_STENCIL_ATTACHMENT, gl::TEXTURE_2D, this->textures[0], 0 ); Linear depth readings in my shader Vertex #version 150 layout(location = 0) in vec3 position; layout(location = 1) in vec2 uv; out vec2 uv_f; void main(){ uv_f = uv; gl_Position = vec4(position, 1.0); } Fragment (where the issue probably is) #version 150\n uniform sampler2D depth_texture; in vec2 uv_f; out vec4 Screen; void main(){ float n = 0.00001; float f = 100.0; float z = texture(depth_texture, uv_f).x; float linear_depth = (n * z)/(f - z * (f - n)); Screen = vec4(linear_depth); // It ISN'T because I don't separate alpha } When Rendered so gamedev.stackexchange, what's wrong with my rendering/glsl?

    Read the article

  • Creating a 2D perspective in 3D game

    - by Accatyyc
    I'm new to XNA and 3D game development in general. I'm creating a puzzle game kind of similar to tetris, built with blocks. I decided to build the game in 3D since I can do some cool animations and transitions when using 3D blocks with physics etc. However, I really do want the game to look "2D". My blocks are made up of 3D models, but I don't want that to be visible when they're not animating. I have followed some XNA tutorials and set up my scene like this: this.view = Matrix.CreateLookAt(cameraPosition, Vector3.Zero, Vector3.Up); this.aspectRatio = graphics.GraphicsDevice.Viewport.AspectRatio; this.projection = Matrix.CreatePerspectiveFieldOfView( MathHelper.ToRadians(45.0f), aspectRatio, 1.0f, 10000.0f); ... and it gives me a very 3D-ish look. For example, the blocks in the center of the screen looks exactly how I want them, but closer to the edges of the screen I can see the rotation and sides of them. My guess is that I'm not after a perspective field of view, but any help on which field of view/settings to use to get a "flat" look when the blocks aren't rotated would be great!

    Read the article

  • HTG Explains: How Internet Explorer Saves Your Passwords and How to Manage Them

    - by Taylor Gibb
    Privacy is very important when it comes to the digital world, but do you know exactly how your browser saves your passwords ? Read on to find out what goes on behind the scenes. When it comes to web applications, there are many different types of authentication. One of the types is called basic authentication, which is when you navigate to website and a dialog box opens to ask for a username and password. This also happens to be the authentication mechanism defined in the RFC for HTTP. You can see in the screen shot above that there is a check box that you can use to remember your credentials, but what does that do ? You might also ask yourself what happens if you are not using Basic authentication. There is another type of authentication called Form authentication, this is when the authentication is built right into the web application, like the How-To Geek website. This allows the Developer to control the look and feel of the form that we use to log in. How To Delete, Move, or Rename Locked Files in Windows HTG Explains: Why Screen Savers Are No Longer Necessary 6 Ways Windows 8 Is More Secure Than Windows 7

    Read the article

  • Desktop Fun: Mountains Theme Wallpapers

    - by Asian Angel
    Do you love to go on hikes in the mountains and enjoy the scenery? Bring those sweeping views and a touch of the great outdoors to your desktop with our Mountains Theme Wallpaper collection. Note: Click on the picture to see the full-size image—these wallpapers vary in size so you may need to crop, stretch, or place them on a colored background in order to best match them to your screen’s resolution.         For more fun wallpapers be certain to visit our new Desktop Fun section. Similar Articles Productive Geek Tips Windows 7 Welcome Screen Taking Forever? Here’s the Fix (Maybe)Desktop Fun: Starship Theme WallpapersDesktop Fun: Underwater Theme WallpapersDesktop Fun: Forest Theme WallpapersDesktop Fun: Fantasy Theme Wallpapers TouchFreeze Alternative in AutoHotkey The Icy Undertow Desktop Windows Home Server – Backup to LAN The Clear & Clean Desktop Use This Bookmarklet to Easily Get Albums Use AutoHotkey to Assign a Hotkey to a Specific Window Latest Software Reviews Tinyhacker Random Tips DVDFab 6 Revo Uninstaller Pro Registry Mechanic 9 for Windows PC Tools Internet Security Suite 2010 Monitor Applications With Kiwi LocPDF is a Visual PDF Search Tool Download Free iPad Wallpapers at iPad Decor Get Your Delicious Bookmarks In Firefox’s Awesome Bar Manage Photos Across Different Social Sites With Dropico Test Drive Windows 7 Online

    Read the article

  • Domain controller failed to restore using windows backup tools

    - by Peilin
    Domain controller failed to restore using windows backup tools One Issue: One 08 R2 domain controller with fully daily backup(only one controller in this company) is out of services due to hardware issue. The below two methods i tried to recover to the new purchasing server,but it is fail. 1)First Method: Using the windows 2008 R2 CD to boot and carry out recover from backup. Everything is OK, but after reboot it will come out blue screen and restart again. 2)Second Method: a)Install the OS in this new server b) Reboot the server to DSRM. c)Using the Windows Backup Tools to restore the system states only After reboot, it will come out the blue screen error and restart again. I know this is may be the different hardware issue, but how to resolve? Or can we only restore the AD services not whole system status? Any suggestion?

    Read the article

  • Is excessive indirection and/or redundant encapsulation a recognized concept?

    - by Omega
    I'm curious if there's a series of tendencies or anti-patterns when programming whereby a developer will always locally re-wrap external dependencies when consuming them. A slightly less vague example might be say when consuming an implementation of an interface or abstract, and mapping every touch-point locally before interacting with them. Like an overcomplicated take on composition. Given my example, would the interface not be reliable enough and any change to it never be surmountable any any level of indirection? Is this a good or a bad practice? Can it ever go too far? Does it have a proper name?

    Read the article

  • Someone erased the mac os x with ubuntu, how do i get it back?

    - by Azarius Jenkins
    so for a further detail about this, my friend has a macbook pro thats all i know about it specfically aside from the fact it was running os x lion. before this guy got a hold of the computer that he knows, I could hit the command key and the R key to get to the disk utilities and what-not to install OS X Lion on it, but now since whomever my friend let touch th mac, i no longer and do any of the start-up keys for it.. I've been trying to geth the mac os x lion on there and im having no luck what-so-ever, if anyone could help me with this i would be greatly appreciative... if you need anymore info that i may be able to provide please feel free to ask. thank you again.

    Read the article

  • Why do I have no TTY on a basic Ubuntu 9.10 server install?

    - by pr1001
    I have reinstalled Ubuntu 9.10 Server several times on a bog standard 1RU server and each time I finish the install and reboot I see GRUB run and am then presented with a black screen. The machine is running just fine, as I am able to SSH in, but I can't see anything on the attached monitor. I have a simple LCD screen connected via VGA and a signal is apparently being output to it, as it doesn't go asleep. Looking at /var/log/syslog I see: Mar 24 14:57:44 bridge5 rsyslogd-2039: Could no open output file '/dev/xconsole' [try http://www.rsyslog.com/e/2039 ] However, I later see: Mar 24 14:57:44 bridge5 kernel: [ 0.001368] console [tty0] enabled Any thoughts? Thanks!

    Read the article

  • how to customize debian installation cd for your needs

    - by Frank
    I have with me a Debian CD, which I want to customize for my own needs. I have extracted the CD and started to change some parts of it, e.g Splash screen (splash.png) installer Title (through isolinux.cfg) etc These are the things that I want to do: Change the Splash logo at start up of installation to have my own (which is done) Change the grub boot parameters to use my comapny name on it. Change the set of packages in it, so that I can have my own set of packages in it and only those packages are installed Do some post installation steps Customize it's startup and login screen to have my company name. After I am done with this customization, I need to build its live installer CD so that I can install it on my own, on any other system.

    Read the article

  • Invoke host's workspace switcher from inside VM

    - by Paul
    When I start a virtual machine (like VMware or VirtualBox) and set it full screen then, from the host OS (in this case Ubuntu), I can beautifully switch to it with the Workspace Switcher. So I switch to the VM like I switch to a virtual screen. But switching back -- from the VM to the host's virtual screens -- seems to be impossible because by entering the VM I loose the host's workspace switcher. Is there a nifty workspace switcher program that runs inside the VM and is able to switch workspaces of the host machine? Edit in light of Frank Thomas' answer, can we configure VirtualBox (or VMware) to not send certain key combinations to the VM, but keep them to the host? Like Super+S. In that approach I would sadly have to miss the nice workspace switcher icon in the guest OS, but that's OK if at least the keyboard trick would work.

    Read the article

  • Xorg crashes ever since using Nvidia dual monitors

    - by legion
    Well ever since I have used dual monitors with the NVIDIA X Server Settings program my xorg process has been crashing after a while, and its generally a pretty long while of like 6 hours afterwards. Before NVIDIA changed my xorg.conf file I only had xorg crash like twice in 2 months, I can't figure out what is going on. I am running ubuntu 12.04 with the MATE desktop environment v 1.2.0 xorg.conf # nvidia-settings: X configuration file generated by nvidia-settings # nvidia-settings: version 295.33 (buildd@allspice) Fri Mar 30 15:25:24 UTC 2012 Section "ServerLayout" Identifier "Layout0" Screen 0 "Screen0" 0 0 InputDevice "Keyboard0" "CoreKeyboard" InputDevice "Mouse0" "CorePointer" Option "Xinerama" "0" EndSection Section "Files" EndSection Section "InputDevice" # generated from default Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/psaux" Option "Emulate3Buttons" "no" Option "ZAxisMapping" "4 5" EndSection Section "InputDevice" # generated from default Identifier "Keyboard0" Driver "kbd" EndSection Section "Monitor" # HorizSync source: edid, VertRefresh source: edid Identifier "Monitor0" VendorName "Unknown" ModelName "LEN" HorizSync 51.8 - 55.8 VertRefresh 40.0 - 60.0 Option "DPMS" EndSection Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "NVS 3100M" EndSection Section "Screen" # Removed Option "TwinView" "0" # Removed Option "metamodes" "DFP-0: nvidia-auto-select +0+0" # Removed Option "TwinView" "1" # Removed Option "metamodes" "DFP-1: nvidia-auto-select +0+0, CRT: nvidia-auto-select +1920+0" Identifier "Screen0" Device "Device0" Monitor "Monitor0" DefaultDepth 24 Option "TwinViewXineramaInfoOrder" "DFP-1" Option "TwinView" "0" Option "metamodes" "DFP-0: nvidia-auto-select +0+0" SubSection "Display" Depth 24 EndSubSection EndSection

    Read the article

  • How do I debug xorg/fglrx related system freezes on Ubuntu 12.10?

    - by racerror
    My brand new system is randomly freezing and I don't know how to debug the issue. System: AMD A10-5800k Asus F2A85-M motherboard Integrated Radeon HD 7660D 8gb Samsung ddr3 1600 Ubuntu 12.10 Gnome shell / Unity (issue exists in both) xorg.conf (relevant parts): Section "Device" Identifier "aticonfig-Device[0]-0" Driver "fglrx" BusID "PCI:0:1:0" Option "TexturedVideoSync" "on" Option "UseFastTLS" "2" EndSection Section "Screen" Identifier "aticonfig-Screen[0]-0" Device "aticonfig-Device[0]-0" Monitor "Monitor0" DefaultDepth 24 Option "UseEDID" "False" Option "ExactModeTimingsDVI" "True" Option "NoBandWidthTest" "true" Option "ModeValidation" "AllowNon60hzmodesDFPModes, NoEDIDDFPMaxSizeCheck, NoVertRefreshCheck, NoHorizSyncCheck, NoDFPNativeResolutionCheck, NoMaxSizeCheck, NoMaxPClkCheck, NoEDIDModes" Option "UseEDIDDPI" "False" Option "UseEDIDFreqs" "0" Option "NoLogo" "True" Option "Coolbits" "1" Option "metamodes" "DFP-0: 2560x1440_60 +0+0" SubSection "Display" Depth 24 Modes "2560x1440" EndSubSection I ran memtest on my ram and it checks out fine. I have tried using the latest fglrx and fglrx-beta. I have loaded 3.6.x kernel. I do not see anything relevant in dmesg, kern.log, syslog, .xsession-errors or Xorg.log. I cannot ssh into the machine when frozen from another machine. I know that system resources not being stressed when the crashes happen. It seems that video and any gaming (very simple graphics games) contribute to the freezes most frequently. However, I have experienced the crash before when just using Chrome. I suspect the crashes are xorg/fglrx related, but I have no evidence to back that up. Where should I look? What should I grep for? What should I try next?

    Read the article

  • HTML5 Canvas Converting between cartesian and isometric coordinates

    - by Amir
    I'm having issues wrapping my head around the Cartesian to Isometric coordinate conversion in HTML5 canvas. As I understand it, the process is two fold: (1) Scale down the y-axis by 0.5, i.e. ctx.scale(1,0.5); or ctx.setTransform(1,0,0,0.5,0,0); This supposedly produces the following matrix: [x; y] x [1, 0; 0, 0.5] (2) Rotate the context by 45 degrees, i.e. ctx.rotate(Math.PI/4); This should produce the following matrix: [x; y] x [cos(45), -sin(45); sin(45), cos(45)] This (somehow) results in the final matrix of ctx.setTransform(2,-1,1,0.5,0,0); which I cannot seem to understand... How is this matrix derived? I cannot seem to produce this matrix by multiplying the scaling and rotation matrices produced earlier... Also, if I write out the equation for the final transformation matrix, I get: newX = 2x + y newY = -x + y/2 But this doesn't seem to be correct. For example, the following code draws an isometric tile at cartesian coordinates (500, 100). ctx.setTransform(2,-1,1,0.5,0,0); ctx.fillRect(500, 100, width*2, height); When I check the result on the screen, the actual coordinates are (285, 215) which do not satisfy the equations I produced earlier... So what is going on here? I would be very grateful if you could: (1) Help me understand how the final isometric transformation matrix is derived; (2) Help me produce the correct equation for finding the on-screen coordinates of an isometric projection. Many thanks and kind regards

    Read the article

  • Port Forwarding for Remote Desktop

    - by Vaibhav Bajpai
    I have two Mac notebooks at home, I have assigned them static private IPs. I have also set my router to a DynDNS address, which updates everytime my router gets a new public IP. I have enabled Screen Sharing on both notebooks. I can successfully goto my router webpage using the DynDNS address. I understand I need to port-forward to get Screen Sharing to work from outside. Lets assume, notebooks have private IP 192.168.1.2 and 192.168.1.3 I am kind of lost here, would appreciate some help (I need to be able remote desktop to both notebooks)

    Read the article

  • External Full HD monitor and Virtual Desktop Size

    - by Stefan
    I have two FullHD monitors attached to my ATI graphics card [2]. The resolution of both of them is detected properly without any modifications to /etc/X11/xorg.conf. I can run both of them in clone mode. However, when I try to run them next to each other, I got the following error: The selected configuration for displays could not be applied. If tried to fix this according to [1]. My xorg.conf now looks like this: Section "Module" Load "glx" EndSection Section "Screen" Identifier "Default Screen" DefaultDepth 24 SubSection "Display" # The 1088 is the smallest multiple of 32 >= 1088 # see manpages Virtual 1920 1088 EndSubSection EndSection This does not seem to be parsed properly. After restarting X, I cannot set resolutions beyond 1600 or so any more. /var/log/Xorg.0.log gives: [ 15.676] (II) fglrx(0): Not using mode "1920x1080" (width too large for virtual size) [ 15.676] (II) fglrx(0): Not using mode "1680x1050" (width too large for virtual size) Are my modifications syntactically incorrect? According to the man page, it should be fine. Any ideas? OS: Ubuntu 11.10 64bit [1] http://askubuntu.com/a/75546/5023 [2] 01:00.0 VGA compatible controller: ATI Technologies Inc Juniper [Radeon HD 5700 Series]

    Read the article

  • When copying VM filesystem over netcat, dd copies double the disk size

    - by JivanAmara
    I'm attempting to copy the disk of a working headless virtualbox VM (VM1) on one server to a new VM (VM2) on a vCloud server. I don't have access to the host of VM2. The OS is Windows Server 2003 (32-bit) I start both VMs with a live Knoppix image. I run 'nc -l | dd of=/dev/sda bs=512' on VM2 I run 'dd if=/dev/sda bs=512 | nc ' on VM1 I previously did this with another windows VM and it worked fine. VM1 has a disk of size ~70GB (verified with fdisk); however, the amount of data dd reports read/written is ~139GB. Of course the target machine doesn't work properly. I get a Windows splash screen, then blue error screen with general 'system not working' information. I'm at a loss what could cause this. Any ideas?

    Read the article

  • Flash vs. l'HTML5 : lequel est le plus performant ? Aucun, selon un expert américain

    Mise à jour du 10.03.2010 par Katleen Flash vs. l'HTML5 : lequel est le plus performant ? Aucun, selon un expert américain L'utilité de Flash est âprement discutée ces dernières semaines, suite au refus catégorique de Steve Jobs d'implémenter cette technologie dans ses derniers produits : l'iPad et l'iPod Touch. Les fanboys d'Apple suivent leur maître et, comme lui, ils considèrent Flash comme un dévoreur de CPU nuisible pour la longévité des batteries. Flash a alors tout de la bête noire. Pourtant, de récentes études l'ont comparé à l'HTML5. Et les résultats sont?innatendus. Du moins, pour les détracteurs de Flash. Flash est en effet...

    Read the article

  • Dual Touchscreens in Different Rooms

    - by Ash
    I'm planning on having one dual-core system running two touchscreens, each in its own room in the house. I'd like to be able to use the internet on one, while someone else uses the other to record music - each of us interacting with the screen as we would separate computers. I was also thinking that running each screen, or certain programs, on its own core might make this work more smoothly. Will this setup work in Windows 7 Home on a mini-tower or do I need to invest in a server to get this sort of workstation/terminal setup to work?

    Read the article

  • Gnome - windows always open top left

    - by BobTodd
    I find this a highly annoying "feature" on a wide screen monitor that my mostly used apps - terminal and gedit always open directly under the top-left corner of my screen and I have to drag them to my eye position each and every-time. I have tried installing the CompizConfig Settings Manager and using the feature to position windows centre, but this has had no effect - the force feature here isn't working for me either. I can use e.g. gnome-terminal --geometry=140x50+50+50 for the terminal but this doesn't work for gedit. Any ideas? Thanks

    Read the article

  • Windows XP Blue-Screens And Reboots Instantly On Boot-Up

    - by ashes999
    My computer was running perfectly until yesterday; my internet suddenly died. Being wireless, I decided to reboot; now the computer doesn't boot. It shows the "Starting Windows" screen (safe mode loads several drivers), then it suddenly blue-screens and immediately reboots (I cannot read the blue-screen contents at all). I've tried safe-mode (with and without networking); no dice. I booted another HD with another XP install and ran scandisk on my HDs; no bad sectors, and even with auto-repair, it didn't fix the problem. Now what? What are my options to fix the broken XP install? I'm thinking: 1) Remove wireless card 2) Run XP install CD and repair installation 3) ???

    Read the article

  • How do I drag my widgets without dragging other widgets?

    - by Cypher
    I have a bunch of drag-able widgets on screen. When I am dragging one of the widgets around, if I drag the mouse over another widget, that widget then gets "snagged" and is also dragged around. While this is kind of a neat thing and I can think of a few game ideas based on that alone, that was not intended. :-P Background Info I have a Widget class that is the basis for my user interface controls. It has a bunch of properties that define it's size, position, image information, etc. It also defines some events, OnMouseOver, OnMouseOut, OnMouseClick, etc. All of the event handler functions are virtual, so that child objects can override them and make use of their implementation without duplicating code. Widgets are not aware of each other. They cannot tell each other, "Hey, I'm dragging so bugger off!" Source Code Here's where the widget gets updated (every frame): public virtual void Update( MouseComponent mouse, KeyboardComponent keyboard ) { // update position if the widget is being dragged if ( this.IsDragging ) { this.Left -= (int)( mouse.LastPosition.X - mouse.Position.X ); this.Top -= (int)( mouse.LastPosition.Y - mouse.Position.Y ); } ... // define and throw other events if ( !this.WasMouseOver && this.IsMouseOver && mouse.IsButtonDown( MouseButton.Left ) ) { this.IsMouseDown = true; this.MouseDown( mouse, new EventArgs() ); } ... // define and throw other events } And here's the OnMouseDown event where the IsDraggable property gets set: public virtual void OnMouseDown( object sender, EventArgs args ) { if ( this.IsDraggable ) { this.IsDragging = true; } } Problem Looking at the source code, it's obvious why this is happening. The OnMouseDown event gets fired whenever the mouse is hovered over the Widget and when the left mouse button is "down" (but not necessarily in that order!). That means that even if I hold the mouse down somewhere else on screen, and simply move it over anything that IsDraggable, it will "hook" onto the mouse and go for a ride. So, now that it's obvious that I'm Doing It Wrong™, how do I do this correctly?

    Read the article

< Previous Page | 321 322 323 324 325 326 327 328 329 330 331 332  | Next Page >