Annotation of 43BSD/contrib/X/doc/Xlib/ch05b.t, revision 1.1

1.1     ! root        1: .NH 2
        !             2: Manipulating Windows
        !             3: .PP
        !             4: .IN "XMapWindow"
        !             5: A window is considered `mapped' if a \fIXMapWindow\fP
        !             6: call has been made on it.
        !             7: It may not be visible on the screen for either of two reasons:
        !             8: 1) it may be obscured by another opaque sibling window or
        !             9: 2) one of its ancestors is not mapped.
        !            10: .IN "Exposure Events"
        !            11: Exposure events will be generated for the window when part or all of
        !            12: it become visible on the screen; a client will only receive the
        !            13: exposure events if it has asked for them using \fIXSelectInput\fP.
        !            14: .IN "XSelectInput"
        !            15: .FD
        !            16: .IN "Definitions" "XMapWindow"
        !            17: .IN "XMapWindow"
        !            18: XMapWindow (w)
        !            19:        Window w;
        !            20: .FN
        !            21: \fIXMapWindow\fP maps the window and raises the window and all of its
        !            22: subwindows which have had map requests to the top of the stack of windows.
        !            23: A subwindow will appear on the screen so long as all of its ancestors
        !            24: are mapped.
        !            25: The previous contents of all
        !            26: opaque windows are lost; mapping of transparent windows does not affect
        !            27: the screen.
        !            28: .PP
        !            29: Mapping a window that has an unmapped ancestor does not display the
        !            30: window, but marks it as eligible for display when the ancestor becomes
        !            31: mapped.
        !            32: .PP
        !            33: Mapping an already mapped window has no effect
        !            34: (it does NOT raise it).
        !            35: .PP
        !            36: .IN "XMapWindow"
        !            37: .IN "ExposeWindow Event"
        !            38: If the window is opaque,
        !            39: \fIXMapWindow\fP generates \fIExposeWindow\fP events on
        !            40: each opaque window that it causes to become displayed.  If the client
        !            41: first maps the window, then paints the window, then begins
        !            42: processing input events, the window will be painted twice.   To avoid this,
        !            43: the client should either
        !            44: .IN "XSelectInput"
        !            45:   a) first Map, then call \fIXSelectInput\fP for exposure events,
        !            46: then repaint the
        !            47: window(s) explicitly, or
        !            48:   b) first call \fIXSelectInput\fP for exposure events, 
        !            49: then map, then process input
        !            50: events normally.  The event list will include \fIExposeWindow\fP for each
        !            51: window that has appeared on the screen; the client's normal response to
        !            52: an \fIExposeWindow\fP should be to repaint the window.
        !            53: Method b) is preferred as it usually leads to simpler programs.
        !            54: .FD
        !            55: .IN "Definitions" "XMapSubwindows"
        !            56: .IN "XMapSubwindows"
        !            57: XMapSubwindows (w)
        !            58:        Window w;
        !            59: .FN
        !            60: .PP
        !            61: \fIXMapSubwindows\fP maps all subwindows of the specified window in
        !            62: an unpredictable order.
        !            63: .PP
        !            64: .IN "ExposeWindow Event"
        !            65: It also generates an \fIExposeWindow\fP
        !            66: event on each newly displayed opaque window.
        !            67: .PP
        !            68: Note that this is MUCH more efficient than mapping many windows
        !            69: one at a time, as much of the work need only be performed once for all
        !            70: of the windows rather than for each window.
        !            71: .FD
        !            72: .IN "Definitions" "XUnmapWindow"
        !            73: .IN "XUnmapWindow"
        !            74: XUnmapWindow (w)
        !            75:        Window w;
        !            76: .FN
        !            77: \fIXUnmapWindow\fP unmaps the window.
        !            78: Any child window will no longer be visible until another map call is
        !            79: made on the parent.
        !            80: (Another words, the subwindows are still mapped, but not visible
        !            81: until the parent is mapped.)
        !            82: .IN "UnmapWindow Event"
        !            83: It generates an \fIUnmapWindow\fP event for \fIw\fP, regardless
        !            84: of whether it is opaque or transparent.
        !            85: Child windows will NOT receive \fIUnmapWindow\fP events.
        !            86: .PP
        !            87: Unmapping a transparent window does not affect the
        !            88: screen or generate any exposure events.
        !            89: Unmapping an opaque window will
        !            90: generate exposure events on opaque windows that were formerly obscured
        !            91: by it and its children.
        !            92: .FD
        !            93: .IN "Definitions" "XUnmapTransparent"
        !            94: .IN "XUnmapTransparent"
        !            95: XUnmapTransparent (w)
        !            96:        Window w;
        !            97: .FN
        !            98: Unmaps the window but does not affect the
        !            99: screen, even if the window is opaque, and does not generate any
        !           100: exposure (or unmap) events.
        !           101: .IN "Menus"
        !           102: This is intended for use mainly by pop-up
        !           103: menus in conjunction with
        !           104: .IN "XPixmapSave"
        !           105: \fIXPixmapSave\fP to suppress exposure events; the client should normally
        !           106: restore the saved pixmap to the area formerly covered by the unmapped
        !           107: window.
        !           108: .FD
        !           109: .IN "Definitions" "XUnmapSubwindows"
        !           110: .IN "XUnmapSubwindows"
        !           111: XUnmapSubwindows(w)
        !           112:        Window w;
        !           113: .FN
        !           114: Unmaps all subwindows of the specified window.
        !           115: .IN "UnmapWindow Event"
        !           116: It also generates an UnmapWindow event on each subwindow and generates
        !           117: Exposure events on formerly obscured opaque windows.
        !           118: .PP
        !           119: Note that this is MUCH more efficient than unmapping many windows
        !           120: one at a time, as much of the work need only be performed once for all
        !           121: of the windows rather than for each window.
        !           122: .FD 
        !           123: .IN "Definitions" "XMoveWindow"
        !           124: .IN "XMoveWindow"
        !           125: XMoveWindow (w, x, y)
        !           126:        Window w;
        !           127:        int x, y;
        !           128: .FN    
        !           129: \fIXMoveWindow\fP moves and raises the window, without changing its size.
        !           130: It does not change the mapping state of the window.
        !           131: The
        !           132: \fIx\fP and \fIy\fP coordinates are the new top left outside corner;  they are
        !           133: relative to the inside of the parent window's borders. 
        !           134: Moving an mapped opaque window may or may not lose its contents depending on
        !           135: 1) if its tile mode is
        !           136: relative or 2) if the window is obscured by non-children.
        !           137: Moving a transparent window does not affect the screen.
        !           138: .IN "Exposure Events"
        !           139: If the
        !           140: contents are lost, exposure events will be generated for the window and
        !           141: any mapped opaque subwindows.
        !           142: Moving a transparent window does not
        !           143: affect the screen.
        !           144: .PP
        !           145: .IN "Exposure Events"
        !           146: Moving a mapped opaque window will generate exposure events on any
        !           147: formerly obscured opaque windows.
        !           148: .FD
        !           149: .IN "Definitions" "XChangeWindow"
        !           150: .IN "XChangeWindow"
        !           151: XChangeWindow (w, width, height)
        !           152:        Window w;
        !           153:        int width, height;
        !           154: .FN    
        !           155: \fIXChangeWindow\fP changes the size of the window without
        !           156: changing its upper left coordinate.  
        !           157: The new \fIwidth\fP and \fIheight\fP are inside
        !           158: dimensions; they do not include the window's borders.
        !           159: .PP
        !           160: \fIXChangeWindow\fP always raises the window.
        !           161: .IN "ExposeWindow Event"
        !           162: Changing the size of a mapped opaque window loses its contents and generates
        !           163: an \fIExposeWindow\fP event.
        !           164: Changing the size of a transparent window does
        !           165: not affect the screen.
        !           166: .PP
        !           167: If a mapped opaque window is made smaller, exposure events will be generated on
        !           168: opaque windows that it formerly obscured.
        !           169: .PP
        !           170: The origin of the window is not changed.
        !           171: .FD
        !           172: .IN "Definitions" "XConfigureWindow"
        !           173: .IN "XConfigureWindow"
        !           174: XConfigureWindow (w, x, y, width, height)
        !           175:        Window w;
        !           176:        int x, y, width, height;
        !           177: .FN
        !           178: \fIXConfigureWindow\fP changes the size and location of the window.
        !           179: Configuring a mapped opaque window loses its contents and generates an
        !           180: .IN "ExposeWindow Event"
        !           181: ExposeWindow event;  configuring a transparent window does not affect the
        !           182: screen.
        !           183: \fIXConfigureWindow\fP always raises the window.
        !           184: .PP
        !           185: Configuring a window may generate exposure events on opaque windows that the
        !           186: window formerly obscured, depending on the new size and location parameters.
        !           187: .PP
        !           188: .IN "XChangeWindow"
        !           189: To change the size only, call \fIXChangeWindow\fP.  To change the location
        !           190: .IN "XMoveWindow"
        !           191: only, call \fIXMoveWindow\fP.
        !           192: .FD
        !           193: .IN "Definitions" "XRaiseWindow"
        !           194: .IN "XRaiseWindow"
        !           195: XRaiseWindow (w)
        !           196:        Window w;
        !           197: .FN
        !           198: \fIXRaiseWindow\fP `raises' this window so that no sibling window obscures it.
        !           199: If the windows are regarded as overlapping sheets of paper stacked on a desk,
        !           200: then raising a window is analogous to moving the sheet to the top of
        !           201: the stack, while leaving its x and y location on the desk constant.
        !           202: .PP
        !           203: .IN "Exposure Events"
        !           204: Raising a mapped opaque window may generate exposure events for the
        !           205: window and any mapped opaque subwindows that were formerly obscured.  
        !           206: .PP
        !           207: Raising a transparent window does not affect the screen.
        !           208: Transparent windows never obscure other windows for the purposes
        !           209: of output, but do obscure for the purposes of cursor and input
        !           210: control.
        !           211: .FD
        !           212: .IN "Definitions" "XLowerWindow"
        !           213: .IN "XLowerWindow"
        !           214: XLowerWindow (w)
        !           215:        Window w;
        !           216: .FN
        !           217: \fIXLowerWindow\fP `lowers' this window so that it does 
        !           218: not obscure any sibling
        !           219: windows. 
        !           220: If the windows are regarded as overlapping sheets of paper
        !           221: stacked on a desk, then lowering a window is analogous to moving the
        !           222: sheet to the bottom of the stack, while leaving its x and y location on
        !           223: the desk constant.
        !           224: .PP
        !           225: .IN "Exposure Events"
        !           226: Lowering a mapped opaque window will generate exposure events on any
        !           227: opaque windows it formerly obscured.
        !           228: .PP
        !           229: Lowering a transparent window does not affect the screen.
        !           230: .FD
        !           231: .IN "Definitions" "XCircWindowUp"
        !           232: .IN "XCircWindowUp"
        !           233: XCircWindowUp (w)
        !           234:        Window w;
        !           235: .FN
        !           236: \fIXCircWindowUp\fP raises the lowest mapped child of this window that is partially
        !           237: or completely
        !           238: obscured by another child.
        !           239: Completely unobscured children are not affected.
        !           240: .IN "Exposure Events"
        !           241: This will
        !           242: generate exposure events on that child (and its opaque descendents) if any part
        !           243: of it was formerly obscured. 
        !           244: Repeated executions lead to round robin raising.
        !           245: .FD
        !           246: .IN "Definitions" "XCircWindowDown"
        !           247: XCircWindowDown (w)
        !           248:        Window w;
        !           249: .FN
        !           250: Lower the highest mapped child of the window that partially or completely
        !           251: obscures another child.
        !           252: Completely unobscured children are not affected.
        !           253: Generates exposure events on any window formerly obscured.
        !           254: Repeated executions lead to round robin lowering.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.