I’m sure this has been done before and there is other terminology to describe it but in designing Click and considering multi-monitor support the idea of a logical client area came into my head. The idea is that the application sees its client area as the total combined area of all available physical displays and chooses positions without regard to which device a chosen co-ordinate would map tp.
For example two 1280×800 physical displays would provide a logical client area of 2560×1600. Internally the application would map the co-ordinate ranges to displays making the presence of the multiple physical display devices transparent.
Because I haven’t thought the idea through particularly well, I’m assuming it is in more than one way seriously flawed but the idea of being able to treat arbitrary devices as a single display area appeals to me so I will try and implement it in Click possibly sometime around version 3.
For those of you that are interested, a number I anticipate to be less than positive, the development of Click is progressing nicely. At this point my efforts are focused on the engine and so far I have implemented several major pieces including difficulty and game state, having said that I have discovered some areas of the design i am not particularly happy with, rather then fixing these now I will ignore them and focus on getting an initial feature complete version of the engine built and clean it up later.
If you have any thoughts comments or questions about the logical client area concept or Click, please leave a comment.
[UPDATE] I’m a dumbass, Click is going to be Silverlight, I’m reasonably sure this renders multi-monitor support irrelevant.