|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
java.lang.Object | +--java.awt.GraphicsConfiguration
GraphicsConfiguration
Ŭ·¡½º´Â ÇÁ¸°ÅÍ ¶Ç´Â ¸ð´ÏÅ͵îÀÇ ±×·¡ÇȽº ¸ñÀûÁöÀÇ Æ¯¼ºÀ» ±â¼úÇÕ´Ï´Ù. 1 °³ÀÇ ±×·¡ÇȽº µð¹ÙÀ̽º¿¡´Â ´Ù¸¥ Ç¥Çö ¸ðµå ¶Ç´Â ±â´ÉÀ» ³ªÅ¸³»´Â ¸¹Àº °ü·ÃÇÏ´Â GraphicsConfiguration
°¡ ÀÖ½À´Ï´Ù. ´ëÀÀÇÏ´Â ³×ÀÌÆ¼ºê ±¸Á¶´Â Ç÷§Æû°£¿¡ ´Ù¸¨´Ï´Ù. ¿¹¸¦ µé¾î, X11 À©µµ¿ì ½Ã½ºÅÛ¿¡¼´Â °¢ Ç¥½Ã´Â °¢°¢ ´Ù¸¥ GraphicsConfiguration
ÀÔ´Ï´Ù. win32 ¿¡¼´Â GraphicsConfiguration
´Â ÇöÀçÀÇ ÇØ»óµµ¿Í »ö½Éµµ·Î »ç¿ëÇÒ ¼ö ÀÖ´Â PixelFormats ¸¦ Ç¥½ÃÇÕ´Ï´Ù.
µ¥½ºÅ©Å¾ area°¡ ¹°¸®ÀûÀ¸·Î º¹¼öÀÇ È¸é µð¹ÙÀ̽º¿¡ °ÉÄ¡´Â °¡»ó µð¹ÙÀ̽ºÀÇ ¸ÖƼ½ºÅ©¸° ȯ°æ¿¡¼´Â GraphicsConfiguration
¿ÀºêÁ§Æ®ÀÇ °æ°è´Â °¡»óÀÇ ÁÂÇ¥°è¸¦ ±âÁØÀ¸·Î Çϰí ÀÖ½À´Ï´Ù. ÄÄÆÛ³ÍÆ®ÀÇ À§Ä¡¸¦ ¼³Á¤ÇÏ´Â °æ¿ì´Â ´ÙÀ½ÀÇ ÄÚµå »ùÇ÷Π°¡¸®Å°µµ·Ï(µíÀÌ),getBounds
¸¦ »ç¿ëÇØ ¸ñÀûÀÇ GraphicsConfiguration
ÀÇ °æ°è¸¦ ÃëµæÇØ,GraphicsConfiguration
ÀÇ ÁÂÇ¥¿ÍÀÇ À§Ä¡¸¦ ¿ÀÇÁ¼Â(offset) ÇÕ´Ï´Ù.
Frame f = new Frame(GraphicsConfiguration gc); Rectangle bounds = gc.getBounds(); f.setLocation(10 + bounds.x, 10 + bounds.y);ȯ°æÀÌ °¡»ó µð¹ÙÀ̽º ȯ°æÀΰ¡ ¾î¶²°¡¸¦ ÆÇÁ¤ÇÏ·Á¸é , ½Ã½ºÅÛ¿¡ ÀÖ´Â ¸ðµç
GraphicsConfiguration
¿ÀºêÁ§Æ®·Î getBounds
¸¦ È£ÃâÇÕ´Ï´Ù. µ¹·ÁÁÖ¾îÁø °æ°èÀÇ ¿øÁ¡ÀÇ ¾î¶² °ÍÀΰ¡°¡ (0, 0) ÀÌ¿ÜÀ̸é, ȯ°æÀº °¡»ó µð¹ÙÀ̽º ȯ°æÀÔ´Ï´Ù.
getBounds
¸¦ »ç¿ëÇØ °¡»ó µð¹ÙÀ̽ºÀÇ °æ°èµµ ÆÇÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ½Ã½ºÅÛ¿¡ ÀÖ´Â ¸ðµç GraphicsConfiguration
¿ÀºêÁ§Æ®·Î getBounds
¸¦ È£ÃâÇÕ´Ï´Ù. °è¼ÓµÇ¾î,getBounds
ÀÇ È£Ãâ·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø °æ°èÀÇ ¸ðµç ÈÁýÇÕÀ» °è»êÇÕ´Ï´Ù. ÈÁýÇÕÀÌ °¡»ó µð¹ÙÀ̽ºÀÇ °æ°èÀÔ´Ï´Ù. ´ÙÀ½ÀÇ ÄÚµå »ùÇÃÀº °¡»ó µð¹ÙÀ̽ºÀÇ °æ°è¸¦ °è»êÇÑ °ÍÀÔ´Ï´Ù.
Rectangle virtualBounds = new Rectangle(); GraphicsEnvironment ge = GraphicsEnvironment. getLocalGraphicsEnvironment(); GraphicsDevice[] gs = ge.getScreenDevices(); for (int j = 0; j < gs.length; j++) { GraphicsDevice gd = gs[j]; GraphicsConfiguration[] gc = gd.getConfigurations(); for (int i=0; i < gc.length; i++) { virtualBounds = virtualBounds.union(gc[i]. getBounds()); } }
Window
,
Frame
,
GraphicsEnvironment
,
GraphicsDevice
»ý¼ºÀÚÀÇ °³¿ä | |
protected |
GraphicsConfiguration ()
ÀνºÅϽº¸¦ Á÷Á¢ »ý¼ºÇÒ ¼ö ¾ø´Â abstract Ŭ·¡½ºÀÔ´Ï´Ù. |
¸Þ¼ÒµåÀÇ °³¿ä | |
abstract BufferedImage |
createCompatibleImage (int width,
int height)
ÀÌ GraphicsConfiguration ¿Í ȣȯ¼ºÀÌ ÀÖ´Â µ¥ÀÌÅÍ ·¹À̾ƿô°ú Ä®¶ó ¸ðµ¨À» °¡Áö´Â BufferedImage ¸¦ µ¹·ÁÁÝ´Ï´Ù. |
abstract BufferedImage |
createCompatibleImage (int width,
int height,
int transparency)
ÁöÁ¤µÈ Åõ¸íµµ¸¦ ¼Æ÷Æ®ÇØ, ÀÌ GraphicsConfiguration ¿Í ȣȯ¼ºÀÌ ÀÖ´Â µ¥ÀÌÅÍ ·¹À̾ƿô ¹× Ä®¶ó ¸ðµ¨À» °¡Áö´Â BufferedImage ¸¦ µ¹·ÁÁÝ´Ï´Ù. |
abstract VolatileImage |
createCompatibleVolatileImage (int width,
int height)
ÀÌ GraphicsConfiguration ¿Í ȣȯ¼ºÀÌ ÀÖ´Â µ¥ÀÌÅÍ ·¹À̾ƿô°ú Ä®¶ó ¸ðµ¨À» °¡Áö´Â VolatileImage ¸¦ µ¹·ÁÁÝ´Ï´Ù. |
VolatileImage |
createCompatibleVolatileImage (int width,
int height,
ImageCapabilities caps)
ÁöÁ¤µÈ À̹ÌÁö ±â´ÉÀ» »ç¿ëÇØ, ÀÌ GraphicsConfiguration ¿Í ȣȯ¼ºÀÌ ÀÖ´Â µ¥ÀÌÅÍ ·¹À̾ƿô°ú Ä®¶ó ¸ðµ¨À» °¡Áö´Â VolatileImage ¸¦ µ¹·ÁÁÝ´Ï´Ù. |
abstract Rectangle |
getBounds ()
µð¹ÙÀ̽ºÀÇ ÁÂÇ¥ÀÇ GraphicsConfiguration ÀÇ °æ°è¸¦ µ¹·ÁÁÝ´Ï´Ù. |
BufferCapabilities |
getBufferCapabilities ()
ÀÌ GraphicsConfiguration ÀÇ ¹öÆÛ¸µ ±â´ÉÀ» µ¹·ÁÁÝ´Ï´Ù. |
abstract ColorModel |
getColorModel ()
ÀÌ GraphicsConfiguration ¿¡ °ü·ÃÇÑ ColorModel ¸¦ µ¹·ÁÁÝ´Ï´Ù. |
abstract ColorModel |
getColorModel (int transparency)
ÁöÁ¤µÈ Åõ¸íµµ¸¦ ¼Æ÷Æ®ÇØ, ÀÌ GraphicsConfiguration ¿¡ °ü·ÃÇÑ ColorModel ¸¦ µ¹·ÁÁÝ´Ï´Ù. |
abstract AffineTransform |
getDefaultTransform ()
ÀÌ GraphicsConfiguration ÀÇ µðÆúÆ®ÀÇ AffineTransform ¸¦ µ¹·ÁÁÝ´Ï´Ù. |
abstract GraphicsDevice |
getDevice ()
ÀÌ GraphicsConfiguration ¿¡ °ü·ÃÇÑ GraphicsDevice ¸¦ µ¹·ÁÁÝ´Ï´Ù. |
ImageCapabilities |
getImageCapabilities ()
ÀÌ GraphicsConfiguration ÀÇ À̹ÌÁö ±â´ÉÀ» µ¹·ÁÁÝ´Ï´Ù. |
abstract AffineTransform |
getNormalizingTransform ()
À¯Àú °ø°£ÀÇ 72 ´ÜÀ§°¡ µð¹ÙÀ̽º °ø°£ÀÇ 1 ÀÎÄ¡¿¡ »ó´çÇϵµ·Ï(µíÀÌ), GraphicsConfiguration ÀÇ µðÆúÆ® AffineTransform °ú ¿¬°áÇÒ ¼ö ÀÖ´Â AffineTransform ¸¦ µ¹·ÁÁÝ´Ï´Ù.
|
Ŭ·¡½º java.lang. Object ¿¡¼ »ó¼Ó¹ÞÀº ¸Þ¼Òµå |
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
»ý¼ºÀÚÀÇ »ó¼¼ |
protected GraphicsConfiguration()
GraphicsDevice.getConfigurations()
,
GraphicsDevice.getDefaultConfiguration()
,
GraphicsDevice.getBestConfiguration(java.awt.GraphicsConfigTemplate)
,
Graphics2D.getDeviceConfiguration()
¸Þ¼ÒµåÀÇ »ó¼¼ |
public abstract GraphicsDevice getDevice()
GraphicsConfiguration
¿¡ °ü·ÃÇÑ GraphicsDevice
¸¦ µ¹·ÁÁÝ´Ï´Ù.
GraphicsConfiguration
¿¡ °ü·ÃÇÑ GraphicsDevice
¿ÀºêÁ§Æ®public abstract BufferedImage createCompatibleImage(int width, int height)
GraphicsConfiguration
¿Í ȣȯ¼ºÀÌ ÀÖ´Â µ¥ÀÌÅÍ ·¹À̾ƿô°ú Ä®¶ó ¸ðµ¨À» °¡Áö´Â BufferedImage
¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â µð¹ÙÀ̽º¸¦ ¸Þ¸ð¸®¸¿ÇÎ ÇÏ´Â °ÍÀ¸·Î´Â ¹«°ü°èÇÕ´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â BufferedImage
´Â ÀÌ ³×ÀÌÆ¼ºêÀÇ µð¹ÙÀ̽º ±¸¼º¿¡ °¡Àå °¡±î¿î ·¹À̾ƿô ¹× Ä®¶ó ¸ðµ¨À» °¡Áö°í ÀÖÀ¸¹Ç·Î, ÀÌ µð¹ÙÀ̽º¿¡ ÃÖÀûÀ¸·Î Blit ÇÒ ¼ö ÀÖ½À´Ï´Ù.
width
- µ¹·ÁÁÖ¾îÁö´Â BufferedImage
ÀÇ Æøheight
- µ¹·ÁÁÖ¾îÁö´Â BufferedImage
ÀÇ ³ôÀÌ
GraphicsConfiguration
¿Í ȣȯ¼ºÀÌ ÀÖ´Â BufferedImage
public abstract VolatileImage createCompatibleVolatileImage(int width, int height)
GraphicsConfiguration
¿Í ȣȯ¼ºÀÌ ÀÖ´Â µ¥ÀÌÅÍ ·¹À̾ƿô°ú Ä®¶ó ¸ðµ¨À» °¡Áö´Â VolatileImage
¸¦ µ¹·ÁÁÝ´Ï´Ù. µ¹·ÁÁÖ¾îÁø VolatileImage
´Â ¹ÙÅÁÀ¸·Î µÇ´Â ±×·¡ÇÈ µð¹ÙÀ̽º¿¡ ´ëÇØ¼ ÃÖÀûÀ¸·Î µÇµµ·Ï(µíÀÌ) ÀúÀåµÈ µ¥ÀÌÅ͸¦ °¡Áö°í ÀÖÀ¸¹Ç·Î, Ç÷§Æû¿¡ °íÀ¯ÀÇ Ç¥Çö ¼ÓµµÀÇ Çâ»ó¿¡ µµ¿òÀÌ µË´Ï´Ù.
width
- µ¹·ÁÁÖ¾îÁö´Â VolatileImage
ÀÇ Æøheight
- µ¹·ÁÁÖ¾îÁö´Â VolatileImage
ÀÇ ³ôÀÌ
GraphicsConfiguration
¿Í ȣȯ¼ºÀÌ ÀÖ´Â VolatileImage
Component.createVolatileImage(int, int)
public VolatileImage createCompatibleVolatileImage(int width, int height, ImageCapabilities caps) throws AWTException
GraphicsConfiguration
¿Í ȣȯ¼ºÀÌ ÀÖ´Â µ¥ÀÌÅÍ ·¹À̾ƿô°ú Ä®¶ó ¸ðµ¨À» °¡Áö´Â VolatileImage
¸¦ µ¹·ÁÁÝ´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â VolatileImage
´Â ÀÌ ³×ÀÌÆ¼ºêÀÇ µð¹ÙÀ̽º ±¸¼º¿¡ °¡Àå °¡±î¿î ·¹À̾ƿô ¹× Ä®¶ó ¸ðµ¨À» °¡Áö°í ÀÖÀ¸¹Ç·Î, ÀÌ µð¹ÙÀ̽º¿¡ ÃÖÀûÀ¸·Î Blit ÇÒ ¼ö ÀÖ½À´Ï´Ù.
width
- µ¹·ÁÁÖ¾îÁö´Â VolatileImage
ÀÇ Æøheight
- µ¹·ÁÁÖ¾îÁö´Â VolatileImage
ÀÇ ³ôÀÌcaps
- À̹ÌÁö ±â´É
GraphicsConfiguration
¿Í ȣȯ¼ºÀÌ ÀÖ´Â VolatileImage
AWTException
- ÁöÁ¤µÈ À̹ÌÁö ±â´ÉÀÌ ÀÌ ±×·¡ÇȽº ±¸¼º¿¡ ÀÏÄ¡ÇÏÁö ¾Ê¾Ò´ø °æ¿ìpublic abstract BufferedImage createCompatibleImage(int width, int height, int transparency)
GraphicsConfiguration
¿Í ȣȯ¼ºÀÌ ÀÖ´Â µ¥ÀÌÅÍ ·¹À̾ƿô ¹× Ä®¶ó ¸ðµ¨À» °¡Áö´Â BufferedImage
¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â µð¹ÙÀ̽º¸¦ ¸Þ¸ð¸®¸¿ÇÎ ÇÏ´Â °ÍÀ¸·Î´Â ¹«°ü°èÇÕ´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â BufferedImage
´Â ÀÌ GraphicsConfiguration
¸¦ °¡Áö´Â µð¹ÙÀ̽º¿¡ ÃÖÀûÀ¸·Î Blit ÇÒ ¼ö ÀÖ´Â ·¹À̾ƿô ¹× Ä®¶ó ¸ðµ¨À» °¡Áý´Ï´Ù.
width
- µ¹·ÁÁÖ¾îÁö´Â BufferedImage
ÀÇ Æøheight
- µ¹·ÁÁÖ¾îÁö´Â BufferedImage
ÀÇ ³ôÀÌtransparency
- ÁöÁ¤µÈ Åõ¸íµµ ¸ðµå
GraphicsConfiguration
¿Í ȣȯ¼ºÀÌ ÀÖ¾î, ÁöÁ¤µÈ Åõ¸íµµ¸¦ ¼Æ÷Æ®ÇÏ´Â BufferedImage
Transparency.OPAQUE
,
Transparency.BITMASK
,
Transparency.TRANSLUCENT
public abstract ColorModel getColorModel()
GraphicsConfiguration
¿¡ °ü·ÃÇÑ ColorModel
¸¦ µ¹·ÁÁÝ´Ï´Ù.
GraphicsConfiguration
¿¡ °ü·ÃÇÑ ColorModel
¿ÀºêÁ§Æ®public abstract ColorModel getColorModel(int transparency)
GraphicsConfiguration
¿¡ °ü·ÃÇÑ ColorModel
¸¦ µ¹·ÁÁÝ´Ï´Ù.
transparency
- ÁöÁ¤µÈ Åõ¸íµµ ¸ðµå
GraphicsConfiguration
¿¡ °ü·ÃÇÑ ColorModel
¿ÀºêÁ§Æ®public abstract AffineTransform getDefaultTransform()
GraphicsConfiguration
ÀÇ µðÆúÆ®ÀÇ AffineTransform
¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ AffineTransform
´Â Åë»ó, ÃÖÇ¥ÁØÀÇ È¸é¿¡ ´ëÇÑ Ç׵ȯÀÔ´Ï´Ù. µðÆúÆ®ÀÇ AffineTransform
´Â 72 À¯Àú °ø°£ ÁÂÇ¥ ´ÜÀ§°¡ µð¹ÙÀ̽º °ø°£ÀÇ ´ë·« 1 ÀÎÄ¡¿¡ ´ëÀÀÇϵµ·Ï(µíÀÌ) µð¹ÙÀ̽º¿¡ ÁÂÇ¥¸¦ ¸ÅÇÎ ÇÕ´Ï´Ù. Á¤±ÔÈ º¯È¯À» »ç¿ëÇϸé(ÀÚ), ÀÌ ¸ÅÇÎÀ» º¸´Ù Á¤È®ÇÏ°Ô ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. È¸é µð¹ÙÀ̽º¿Í ÇÁ¸°ÅÍ µð¹ÙÀ̽ºÀÇ µðÆúÆ®ÀÇ AffineTransform
À¸·Î Á¤Àǵǰí ÀÖ´Â ÁÂÇ¥ °ø°£ÀÇ ÁÂÇ¥´Â µð¹ÙÀ̽ºÀÇ Å¸°Ù areaÀÇ Á»󱸼®¿¡ ¿øÁ¡À» °¡Á®, X ÁÂÇ¥´Â ¿ìÃøÇâ¿¡, Y ÁÂÇ¥´Â ¾Æ·¡¹æÇâ¿¡ °ªÀÌ Áõ°¡ÇÕ´Ï´Ù. createCompatibleImage
·Î ÀÛ¼ºµÇÁö ¾Ê´Â µð¹ÙÀ̽º¿¡ °ü·ÃÇϰí ÀÖÁö ¾Ê´Â À̹ÌÁö ¹öÆÛµîÀ¸·Î´Â ÀÌ AffineTransform
´Â Ç׵ȯÀÌ µË´Ï´Ù.
GraphicsConfiguration
ÀÇ µðÆúÆ®ÀÇ AffineTransform
public abstract AffineTransform getNormalizingTransform()
GraphicsConfiguration
ÀÇ µðÆúÆ® AffineTransform
°ú ¿¬°áÇÒ ¼ö ÀÖ´Â AffineTransform
¸¦ µ¹·ÁÁÝ´Ï´Ù.
ƯÁ¤ÀÇ Graphics2D
¿¡¼´Â ´ÙÀ½ÀÇ ÀÇ»ç Äڵ带 »ç¿ëÇØ º¯È¯À» ¸®¼ÂÆ® ÇØ, ÀÌ·¯ÇÑ ¸ÅÇÎÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
GraphicsConfiguration gc = g.getGraphicsConfiguration(); g.setTransform(gc.getDefaultTransform()); g.transform(gc.getNormalizingTransform());´Ù¸¸, ÀÌ
AffineTransform
´Â °æ¿ì¿¡ ÀÇÇØ, ¿¹¸¦ µé¾î ÇÁ¸°ÅÍ Ãâ·ÂÀ̳ª ¸ÞŸÆÄÀÏ Ãâ·ÂÀÇ °æ¿ì¿¡ Ç׵ȯÀÌ µÇ¾î, ±× Á¤È®ÇÔÀº ¹ÙÅÁÀ¸·Î ÀÖ´Â ½Ã½ºÅÛ¿¡ ÀÇÇØ ÁöÁ¤µÇ´Â Á¤º¸¿Í °°Àº Á¤µµ°¡ µË´Ï´Ù. createCompatibleImage
¿¡¿¡¼´Â ÀÛ¼ºµÇÁö ¾Ê´Â °Í °°Àº µð¹ÙÀ̽º¿¡ °ü·ÃÇϰí ÀÖÁö ¾Ê´Â À̹ÌÁö ¹öÆÛµîÀ¸·Î´Â À¯È¿ÇÑ °Å¸® ÃøÁ¤¹ýÀÌ ¾ø±â À§ÇØ(¶§¹®¿¡), ÀÌ AffineTransform
´Â Ç׵ȯÀÌ µË´Ï´Ù.
AffineTransform
¿¡ ¿¬°áÇÏ´Â AffineTransform
public abstract Rectangle getBounds()
GraphicsConfiguration
ÀÇ °æ°è¸¦ µ¹·ÁÁÝ´Ï´Ù. °¡»ó µð¹ÙÀ̽º¸¦ °¡Áö´Â ¸ÖƼ½ºÅ©¸° ȯ°æ¿¡¼´Â °æ°è´Â ºÎÀÇ X ¶Ç´Â Y ÀÇ ¿øÁ¡À» °¡Áú ¼ö°¡ ÀÖ½À´Ï´Ù.
GraphicsConfiguration
¿¡ ÀÇÇØ Ä¿¹öµÇ´Â areaÀÇ °æ°èpublic BufferCapabilities getBufferCapabilities()
GraphicsConfiguration
ÀÇ ¹öÆÛ¸µ ±â´ÉÀ» µ¹·ÁÁÝ´Ï´Ù.
public ImageCapabilities getImageCapabilities()
GraphicsConfiguration
ÀÇ À̹ÌÁö ±â´ÉÀ» µ¹·ÁÁÝ´Ï´Ù.
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
Java, Java 2 D, ¹× JDBC ´Â ¹Ì±¹ ¹× ±× ¿ÜÀÇ ³ª¶ó¿¡ ÀÖ¾î¼ÀÇ ¹Ì±¹ Sun Microsystems, Inc. ÀÇ »óÇ¥ ȤÀº µî·Ï»óÇ¥ÀÔ´Ï´Ù.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.