|
|
1.1 ! root 1: /*********************************************************** ! 2: Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts, ! 3: and the Massachusetts Institute of Technology, Cambridge, Massachusetts. ! 4: ! 5: All Rights Reserved ! 6: ! 7: Permission to use, copy, modify, and distribute this software and its ! 8: documentation for any purpose and without fee is hereby granted, ! 9: provided that the above copyright notice appear in all copies and that ! 10: both that copyright notice and this permission notice appear in ! 11: supporting documentation, and that the names of Digital or MIT not be ! 12: used in advertising or publicity pertaining to distribution of the ! 13: software without specific, written prior permission. ! 14: ! 15: DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ! 16: ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL ! 17: DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ! 18: ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, ! 19: WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ! 20: ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS ! 21: SOFTWARE. ! 22: ! 23: ******************************************************************/ ! 24: ! 25: #include "X.h" ! 26: #include "misc.h" ! 27: #include "cursor.h" ! 28: #include "screenint.h" ! 29: ! 30: #include "cfb.h" ! 31: ! 32: void cfbQueryBestSize(class, pwidth, pheight) ! 33: int class; ! 34: short *pwidth; ! 35: short *pheight; ! 36: { ! 37: unsigned width, test; ! 38: ! 39: switch(class) ! 40: { ! 41: case CursorShape: ! 42: *pwidth = 16; ! 43: *pheight = 16; ! 44: break; ! 45: case TileShape: ! 46: case StippleShape: ! 47: width = *pwidth; ! 48: /* Return the closes power of two not less than what they gave me */ ! 49: test = 0x80000000; ! 50: /* Find the highest 1 bit in the width given */ ! 51: while(!(test & width)) ! 52: test >>= 1; ! 53: /* If their number is greater than that, bump up to the next ! 54: * power of two */ ! 55: if((test - 1) & width) ! 56: test <<= 1; ! 57: *pwidth = test; ! 58: /* We don't care what height they use */ ! 59: break; ! 60: } ! 61: } ! 62:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.