Generic Function | Package: cg | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version

## invert-p

Arguments: pixmap

Returns (or sets with setf) whether the rows of pixels in pixmap are ordered such that they would appear inverted in the printed representation of the pixmap contents. That is, if invert-p is true, it indicates that the first row in the pixmap contents is the bottom row of pixels in the actual image, though that row will appear on top when the pixmap contents are printed. invert-p does not normally need to be set by an application, since Common Graphics internally knows how to handle either mode. The default is `nil`, so that when the contents of a pixmap are specified as a static list of lists in lisp source code, the source ccode will be oriented the way that the actual image would appear in a window.

Note that the Windows operating system expects the first row of pixels to be the bottom of the image, and so what Common Graphics refers to as an "inverted" pixmap is actually the most natural orientation for the OS. When invert-p is `nil`, Common Graphics internally tells the OS to flip the pixmap whenever it is drawn, and so it may be that a pixmap that does not use a pixmap-handle draws somewhat faster when invert-p is true. And more important, there is a bug that is apparently in Windows 95 (but not later versions of Windows) where sometimes a pixmap will not appear at all when copied to a window if the pixmap's invert-p property is `nil` and it does not use a pixmap handle. There is no workaround for this Windows 95 bug other than providing a handle with open-pixmap-handle or defining the pixel array so that the bottom row of pixels is the first row of the contents list (setting the invert-p property of the pixmap to true).

invert-p is a property of the `pixmap` class.

Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.2 page.
Created 2012.5.30.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version