incubator-flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brent Arnold <br...@brentarnold.com>
Subject Re: Native Screen ANE – was "new user interface design"
Date Tue, 28 Feb 2012 19:46:16 GMT
What information would you need that's not already included in the 
Capabilities class? Right now with Flash and AIR we can get access to 
screenDPI, screenResolutionX/Y, as well as color depth information.

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/Capabilities.html

Brent

On 2/28/12 11:36 AM, Erik Lundgren wrote:
> Dear list,
>
> Talking about displays and their native ppi:s we've mentioned ANEs a couple of time.
I've tried to research this, because I believe there are real use-cases if we could get it
to work – layout elements based on the users context, not his/hers device.
>
> I'm a FLEX developer and feel that an ANE is a bit over my head. I may be able to figure
something out in java, but everything I've been able to research about it points at C. And
that is a no go for me at the moment.
>
> Are there any C gurus on the list? :)
>
>
> If anyone, more capable than me, would be willing to explore this with me I've tried
to collect some material.
>
> 1. http://en.wikipedia.org/wiki/Extended_display_identification_data
> 2. http://www.insanelymac.com/forum/index.php?showtopic=208410
> 3. http://cgit.freedesktop.org/xorg/app/edid-decode/
> 4. https://github.com/claar/php-edid-decode
> 5. http://www.madrau.com/indexSRX4.html
>
> First. There seems to be a spec regulating information exchanged between pc:s and monitors
called EDID. [1]
> Desktop computers stores EDID information in their registry, but in a binary format that
needs to be parsed.
> I can find the EDID data on my mac, following the guidelines given at [2].
> I don't have access to a windows machine to search for it on that OS.
>
> There is an active C project for parsing the EDID data at [3]. Not sure about licensing.
> There is a php port at [4] if that would help us. Not sure about licensing.
>
> On mac you can get parsed EDID-data using an application like SwitchResX. [5]
>
> And looking at the output the program can generate from my system it seems really promising.
I can read that my screens physical size is 286 mm x 179 mm, and a pixel size 1280 x 800 px.
This is all I need to calculate my screens correct ppi (113 px/inch).
>
> I'm enclosing the full print out below. It could serve as the foundation for the ActionScript
ANE interface. I'm thinking something like a "NativeScreen" class, collecting properties like:
>
> gamma:Number
> timing:Number
> widthCm:uint
> heightCm:uint
> widthInch:uint
> heightInch:uint
> widthPixel
> heightPixel
> ppi:uint
>
> ...
>
> I'm sure there are some pain's down this road, but maybe there is a path ahed. Does this
make anyone itch? Sorry for the mac-twisted research. I don't have access to windows at the
moment.
>
> Yours
> /Erik
>
>
>
> Printout from SwitchResX:
>
> DDC block report generated by SwitchResX version 4.2.7 for display
> Color LCD
>
>
> -----------------------------------------------------
> ------------------- RAW DATA ------------------------
> -----------------------------------------------------
>        0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
> -----------------------------------------------------
> 0  | 00 FF FF FF FF FF FF 00 06 10 BD 9C 00 00 00 00
> 1  | 03 13 01 03 80 1D 12 78 0A 00 00 00 00 00 00 00
> 2  | 00 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
> 3  | 01 01 01 01 01 01 52 1C 00 8F 50 20 2E 30 30 20
> 4  | 36 00 1E B3 10 00 00 18 00 00 00 01 00 06 10 20
> 5  | 00 00 00 00 00 00 00 00 0A 20 00 00 00 FE 00 4C
> 6  | 50 31 33 33 57 58 33 2D 54 4C 41 31 00 00 00 FE
> 7  | 00 43 6F 6C 6F 72 20 4C 43 44 0A 20 20 20 00 41
>
> -----------------------------------------------------
>   <   00FFFFFF FFFFFF00 0610BD9C 00000000 03130103 801D1278 0A000000 00000000 00505400
00000101 01010101 01010101 01010101 0101521C 008F5020 2E303020 36001EB3 10000018 00000001
00061020 00000000 00000000 0A200000 00FE004C 50313333 5758332D 544C4131 000000FE 00436F6C
6F72204C 43440A20 20200041	>
>
> -----------------------------------------------------
>   {  0x00, 0xFF, 0xFF, 0xFF,  0xFF, 0xFF, 0xFF, 0x00,  0x06, 0x10, 0xBD, 0x9C,  0x00,
0x00, 0x00, 0x00,  0x03, 0x13, 0x01, 0x03,  0x80, 0x1D, 0x12, 0x78,  0x0A, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00,  0x00, 0x50, 0x54, 0x00,  0x00, 0x00, 0x01, 0x01,  0x01, 0x01, 0x01,
0x01,  0x01, 0x01, 0x01, 0x01,  0x01, 0x01, 0x01, 0x01,  0x01, 0x01, 0x52, 0x1C,  0x00, 0x8F,
0x50, 0x20,  0x2E, 0x30, 0x30, 0x20,  0x36, 0x00, 0x1E, 0xB3,  0x10, 0x00, 0x00, 0x18,  0x00,
0x00, 0x00, 0x01,  0x00, 0x06, 0x10, 0x20,  0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00,
 0x0A, 0x20, 0x00, 0x00,  0x00, 0xFE, 0x00, 0x4C,  0x50, 0x31, 0x33, 0x33,  0x57, 0x58, 0x33,
0x2D,  0x54, 0x4C, 0x41, 0x31,  0x00, 0x00, 0x00, 0xFE,  0x00, 0x43, 0x6F, 0x6C,  0x6F, 0x72,
0x20, 0x4C,  0x43, 0x44, 0x0A, 0x20,  0x20, 0x20, 0x00, 0x41, 	}
>
> -----------------------------------------------------
> 	Valid EDID block: checksum passed
>
> -----------------------------------------------------
> ------------------- MAIN EDID BLOCK -----------------
> -----------------------------------------------------
>
> EDID Version........1.3
> Manufacturer........APP
> Product Code........48540 (BD9C) (9CBD)
> Serial Number.......00000000
>
> Manufactured........Week 3 of year 2009
> Max H Size..........29 cm
> Max V Size..........18 cm
> Gamma...............2,20
>
> Display Supported Features:
> ---------------------------
>
>
> Display type:
> -------------
> 	RGB 4:4:4&  YCrCb 4:4:4 Color Encoding Formats
> 	Display is non continuous frequency
> 	Default color space is not sRGB standard
> 	Preferred timing mode includes Native Pixel Format
>
>
> Input signal&  sync:
> --------------------
> Digital Input
> 	Color Bit Depth is undefined
> 	Digital Interface is not defined
>
>
> Color info:
> -----------
> Red x = 0,000  Green x = 0,000  Blue x = 0,000  White x = 0,312
> Red y = 0,000  Green y = 0,000  Blue y = 0,000  White y = 0,328
>
> Established Timings:
> --------------------
>
> Manufacturer Reserved Timings:
> ------------------------------
>
> Standard Timing Identification:
> -------------------------------
>
> Monitor Description blocks:
> ---------------------------
> 	Descriptor #0 - Timing definition:
> 	Mode = 1280 x 800 @ 60,223Hz
> 		Pixel Clock............. 72,50 MHz		Non-Interlaced
>
> 		                        Horizontal		Vertical
> 		Active.................. 1280 pixels		 800 lines
> 		Front Porch.............   48 pixels		   3 lines
> 		Sync Width..............   32 pixels		   6 lines
> 		Back Porch..............   63 pixels		  37 lines
> 		Blanking................  143 pixels		  46 lines
> 		Total................... 1423 pixels		 846 lines
> 		Scan Rate...............  50,949 kHz		 60,223 Hz
>
> 		Image Size..............  286 mm		 179 mm
> 		Border..................    0 pixels		   0 lines
>
> 			Sync: Digital separate with
> 				* Negative vertical polarity
> 				* Negative horizontal polarity
>
> 	Descriptor #1 - Manufacturer specific data (not interpreted here)
>
> 	Descriptor #2 - ASCII data:
> 			LP133WX3-TLA1
>
> 	Descriptor #3 - ASCII data:
> 			Color LCD
>
>

Mime
View raw message