There is no reliable way of determining whether you are indoors or outdoors and the minimap scale is different between the two.
Could TouristLib be the answer for automatic switching between indoor and outdoor zone settings...?
I just looked at that and it gives zone info which isn't what I need. Whilst you do get zones that are all inside 99% of them have indoor and outdoor sections.
The best you can do, according to wowwiki, is get the zoom level of the minimap and compare it to the saved zoom settings for outdoors and indoors. The problem is that both zooms are in the range of 0-5 and so there is a very good chance that you'll have your indoor zoom set to the same as your outdoor zoom and so I can't detect where you are. There is an event fired that only occurrs on a reload or when you go from indoors to outdoors and vice versa so once you tell the mod where you are it should be pretty good at keeping track. It will break though if Blizzard make a change that causes that event to be fired more often than required like happens (or used to happen) with the inventory change message.
there's some code n simpleMinimap to tell if you're in or outside. the minimap alpha set to <0 inside causes wierd things to happen. i found example code in Gatherer that i based my code off of.
basically, if indoor and outdoor zoom is the same you change the zoom then compare again. if your indoor the new zoom will match the saved indoor zoom, outdoor it will match the outdoor zoom. change back when you're done.
I've been using this since it came on the svn, it's really neat. The only possible addition/suggestion might be to have a second outer ring to allow for 2 ranges at once. Like inner disc 30 yard, red, and then 40 yard outside in blue. (I know it's adjustable, I just wonder if it's possible/easy to have a second ring)
Scaling the minimap frame to anything other than 100% seems to throw the minimap range circle off center (using Squeenix). Seem to recall some minimap mods having a similar quirk with the border and map getting out of alignment when scaled so perhaps a similar problem?