summaryrefslogtreecommitdiff
path: root/src/amd_gx_cursor.c
diff options
context:
space:
mode:
authorJordan Crouse <jordan.crouse@amd.com>2008-03-11 15:43:00 -0600
committerJordan Crouse <jordan.crouse@amd.com>2008-03-14 14:16:42 -0600
commitec8edd1393f482ca42b401463f0f09580aa263a0 (patch)
tree62892967de07f4db2d66f98e4d4c1001262dce9c /src/amd_gx_cursor.c
parenta7bc1a7f6b439419fc27b669d9d7f99f882d83fe (diff)
First stage of the rename process - get rid of all amd_ prefixes -
change either to geode_ or just to lx_ or gx_ depending on the processor. Change the name in the Makefiles and other collateral
Diffstat (limited to 'src/amd_gx_cursor.c')
-rw-r--r--src/amd_gx_cursor.c335
1 files changed, 0 insertions, 335 deletions
diff --git a/src/amd_gx_cursor.c b/src/amd_gx_cursor.c
deleted file mode 100644
index bcd6279..0000000
--- a/src/amd_gx_cursor.c
+++ /dev/null
@@ -1,335 +0,0 @@
-/* Copyright (c) 2003-2006 Advanced Micro Devices, Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- * Neither the name of the Advanced Micro Devices, Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- * */
-
-/*
- * File Contents: Xfree cursor implementation routines for geode HWcursor
- * init.setting cursor color,image etc. are done here.
- *
- * Project: Geode Xfree Frame buffer device driver.
- * */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "xf86.h"
-#include "xf86_OSproc.h"
-#include "xf86Pci.h"
-#include "xf86PciInfo.h"
-#include "amd.h"
-
-/* Forward declarations of the functions */
-static void GXSetCursorColors(ScrnInfoPtr pScrni, int bg, int fg);
-static void GXSetCursorPosition(ScrnInfoPtr pScrni, int x, int y);
-static Bool GXUseHWCursor(ScreenPtr pScrn, CursorPtr pCurs);
-extern void GXSetVideoPosition(int x, int y, int width, int height,
- short src_w, short src_h, short drw_w,
- short drw_h, int id, int offset, ScrnInfoPtr pScrn);
-
-/*----------------------------------------------------------------------------
- * GXHWCursorInit.
- *
- * Description :This function sets the cursor information by probing the
- * hardware.
- *
- * Parameters.
- * pScrn :Screeen pointer structure.
- *
- * Returns :TRUE on success and FALSE on Failure
- *
- * Comments :Geode supports the hardware_cursor,no need to enable SW
- * cursor.
- *----------------------------------------------------------------------------
- */
-Bool
-GXHWCursorInit(ScreenPtr pScrn)
-{
- ScrnInfoPtr pScrni = xf86Screens[pScrn->myNum];
- GeodeRec *pGeode = GEODEPTR(pScrni);
- xf86CursorInfoPtr infoPtr;
-
- infoPtr = xf86CreateCursorInfoRec();
- if (!infoPtr)
- return FALSE;
- /* the geode structure is intiallized with the cursor infoRec */
- pGeode->CursorInfo = infoPtr;
- infoPtr->MaxWidth = 32;
- infoPtr->MaxHeight = 32;
- /* seeting up the cursor flags */
- infoPtr->Flags = HARDWARE_CURSOR_BIT_ORDER_MSBFIRST |
- HARDWARE_CURSOR_TRUECOLOR_AT_8BPP |
- HARDWARE_CURSOR_SOURCE_MASK_NOT_INTERLEAVED;
- /* cursor info ptr is intiallized with the values obtained from
- * * durnago calls
- */
- infoPtr->SetCursorColors = GXSetCursorColors;
- infoPtr->SetCursorPosition = GXSetCursorPosition;
- infoPtr->LoadCursorImage = GXLoadCursorImage;
- infoPtr->HideCursor = GXHideCursor;
- infoPtr->ShowCursor = GXShowCursor;
- infoPtr->UseHWCursor = GXUseHWCursor;
- return (xf86InitCursor(pScrn, infoPtr));
-}
-
-/*----------------------------------------------------------------------------
- * GXSetCursorColors.
- *
- * Description :This function sets the cursor foreground and background
- * colors
- * Parameters:
- * pScrn: Screeen pointer structure.
- * bg: Specifies the color value of cursor background color.
- * fg: Specifies the color value of cursor foreground color.
- *
- * Returns: none.
- *
- * Comments: The integer color value passed by this function is
- * converted into * RGB value by the gfx_set_color routines.
- *----------------------------------------------------------------------------
- */
-static void
-GXSetCursorColors(ScrnInfoPtr pScrni, int bg, int fg)
-{
- GFX(set_cursor_colors(bg, fg));
-}
-
-/*----------------------------------------------------------------------------
- * GXSetCursorPosition.
- *
- * Description :This function sets the cursor co -ordinates and enable the
- * cursor.
- *
- * Parameters:
- * pScrn: Screeen pointer structure.
- * x: Specifies the x-cordinates of the cursor.
- * y: Specifies the y co-ordinate of the cursor.
- *
- * Returns: none.
- *
- *----------------------------------------------------------------------------
- */
-static void
-GXSetCursorPosition(ScrnInfoPtr pScrni, int x, int y)
-{
- static unsigned long panOffset = 0;
- GeodeRec *pGeode = GEODEPTR(pScrni);
- int savex, savey;
- int newX, newY;
-
- /* Adjust xf86HWCursor messing about */
-
- savex = x + pScrni->frameX0;
- savey = y + pScrni->frameY0;
-
- switch(pGeode->rotation) {
- default:
- ErrorF("%s:%d invalid rotation %d\n", __func__, __LINE__, pGeode->rotation);
- case RR_Rotate_0:
- newX = savex; newY = savey;
- break;
-
- case RR_Rotate_90:
- newX = savey;
- newY = pScrni->pScreen->width - savex;
- break;
-
- case RR_Rotate_180:
- newX = pScrni->pScreen->width - savex;
- newY = pScrni->pScreen->height - savey;
- break;
-
- case RR_Rotate_270:
- newX = pScrni->pScreen->height - savey;
- newY = savex;
- break;
- }
-
- newX += pScrni->frameX0;
- newY += pScrni->frameY0;
-
- //ErrorF("Turned (%d,%d) into (%d,%d)\n", x,y,newX, newY);
-
- if (newX < -31)
- newX = -31;
- if (newY < -31)
- newY = -31;
-
- gfx_set_cursor_position(pGeode->CursorStartOffset, newX + 31, newY + 31,
- 31, 31);
- gfx_set_cursor_enable(1);
-
- if ((pGeode->OverlayON) && (pGeode->Panel)) {
- pGeode->PrevDisplayOffset = gfx_get_display_offset();
- if (pGeode->PrevDisplayOffset != panOffset) {
- GXSetVideoPosition(pGeode->video_x, pGeode->video_y,
- pGeode->video_w, pGeode->video_h,
- pGeode->video_srcw, pGeode->video_srch,
- pGeode->video_dstw, pGeode->video_dsth,
- pGeode->video_id, pGeode->video_offset,
- pGeode->video_scrnptr);
- panOffset = pGeode->PrevDisplayOffset;
- }
- }
-}
-
-/*----------------------------------------------------------------------------
- * GXLoadCursorImage
- *
- * Description: This function loads the 32x32 cursor pattern.The shape
- * and color is set by AND and XOR masking of arrays of 32
- * DWORD.
- * Parameters:
- * pScrn: Screeen pointer structure.
- * src: Specifies cursor data.
- *
- * Returns: none
- *
- *----------------------------------------------------------------------------
- */
-void
-GXLoadCursorImage(ScrnInfoPtr pScrni, unsigned char *src)
-{
- int i, n, x, y, newX, newY;
- unsigned long andMask[32], xorMask[32];
- GeodeRec *pGeode = GEODEPTR(pScrni);
- unsigned long mskb, rowb;
- unsigned char *rowp = &src[0];
- unsigned char *mskp = &src[128];
-
- if (src != NULL) {
- mskb = rowb = 0;
- for (y = 32; --y >= 0;)
- andMask[y] = xorMask[y] = 0;
- for (y = 0; y < 32; ++y) {
- for (x = 0; x < 32; ++x) {
- if ((i = x & 7) == 0) {
- rowb = (*rowp & *mskp);
- mskb = ~(*mskp);
- ++rowp;
- ++mskp;
- }
-
- switch(pGeode->rotation) {
- default:
- ErrorF("%s:%d invalid rotation %d\n", __func__, __LINE__,
- pGeode->rotation);
- case RR_Rotate_0:
- newX = x;
- newY = y;
- break;
- case RR_Rotate_90:
- newX = y;
- newY = 31 - x;
- break;
- case RR_Rotate_180:
- newX = 31 - x;
- newY = 31 - y;
- break;
- case RR_Rotate_270:
- newX = 31 - y;
- newY = x;
- break;
- }
-
- i = 7 - i;
- n = 31 - newX;
- andMask[newY] |= (((mskb >> i) & 1) << n);
- xorMask[newY] |= (((rowb >> i) & 1) << n);
- }
- }
- } else {
- for (y = 32; --y >= 0;) {
- andMask[y] = ~0;
- xorMask[y] = 0;
- }
- }
-
- gfx_set_cursor_shape32(pGeode->CursorStartOffset, &andMask[0],
- &xorMask[0]);
-}
-
-/*----------------------------------------------------------------------------
- * GXHideCursor.
- *
- * Description: This function will disable the cursor.
- *
- * Parameters:
- * pScrn: Handles to the Screeen pointer structure.
- *
- * Returns: none.
- *
- * Comments: gfx_set_cursor enable function is hardcoded to disable
- * the cursor.
- *----------------------------------------------------------------------------
- */
-void
-GXHideCursor(ScrnInfoPtr pScrni)
-{
- gfx_set_cursor_enable(0);
-}
-
-/*----------------------------------------------------------------------------
- * GXShowCursor
- *
- * Description :This function will enable the cursor.
- *
- * Parameters:
- * pScrn :Handles to the Screeen pointer structure.
- *
- * Returns :none
- *
- * Comments :gfx_set_cursor enable function is hardcoded to enable the
- * cursor
- *----------------------------------------------------------------------------
- */
-void
-GXShowCursor(ScrnInfoPtr pScrni)
-{
- GFX(set_cursor_enable(1));
-}
-
-/*----------------------------------------------------------------------------
- * GXUseHwCursor.
- *
- * Description :This function will sets the hardware cursor flag in
- * pscreen structure.
- *
- * Parameters.
- * pScrn :Handles to the Screeen pointer structure.
- *
- * Returns :none
- *
- * Comments :none
- *
- *----------------------------------------------------------------------------
- */
-static Bool
-GXUseHWCursor(ScreenPtr pScrn, CursorPtr pCurs)
-{
- ScrnInfoPtr pScrni = XF86SCRNINFO(pScrn);
- GeodeRec *pGeode = GEODEPTR(pScrni);
-
- return pGeode->HWCursor;
-}