- Timestamp:
- Jun 28, 2008, 12:25:13 AM (17 years ago)
- Location:
- trunk/src/plugins/org.eclipse.swt/Eclipse SWT PI/pm/library
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/plugins/org.eclipse.swt/Eclipse SWT PI/pm/library/structs.c
r78 r123 172 172 ACCEL_FID_CACHE ACCELFc; 173 173 ACCELTABLE_FID_CACHE ACCELTABLEFc; 174 CURSORINFO_FID_CACHE CURSORINFOFc; 175 POINTL_FID_CACHE POINTLFc; 174 176 175 177 /*@@TODO (dmik): remove … … 1462 1464 } 1463 1465 1464 /* ACCELTABLE struct*/1466 /***************************************** ACCELTABLE struct ***************************************/ 1465 1467 1466 1468 void cacheACCELTABLEFids(JNIEnv *env, jobject lpObject, PACCELTABLE_FID_CACHE lpCache) … … 1511 1513 } 1512 1514 1513 /* FACENAMEDESC struct */ 1515 /******************************************** CURSORINFO struct *************************************/ 1516 1517 void cacheCURSORINFOFids(JNIEnv *env, jobject lpObject, PCURSORINFO_FID_CACHE lpCache) 1518 { 1519 if (lpCache->cached) return; 1520 lpCache->clazz = (*env)->GetObjectClass(env, lpObject); 1521 lpCache->hwnd = (*env)->GetFieldID(env, lpCache->clazz, "hwnd", "I"); 1522 lpCache->x = (*env)->GetFieldID(env, lpCache->clazz, "x", "I"); 1523 lpCache->y = (*env)->GetFieldID(env, lpCache->clazz, "y", "I"); 1524 lpCache->cx = (*env)->GetFieldID(env, lpCache->clazz, "cx", "I"); 1525 lpCache->cy = (*env)->GetFieldID(env, lpCache->clazz, "cy", "I"); 1526 lpCache->fs = (*env)->GetFieldID(env, lpCache->clazz, "fs", "I"); 1527 lpCache->rclClip = (*env)->GetFieldID(env, lpCache->clazz, "rclClip", "Lorg/eclipse/swt/internal/pm/RECTL;"); 1528 lpCache->cached = 1; 1529 } 1530 1531 PCURSORINFO getCURSORINFOFields(JNIEnv *env, jobject lpObject, PCURSORINFO lpStruct, PCURSORINFO_FID_CACHE lpCache) 1532 { 1533 if (!lpCache->cached) cacheCURSORINFOFids(env, lpObject, lpCache); 1534 lpStruct->hwnd = (*env)->GetIntField(env, lpObject, lpCache->hwnd); 1535 lpStruct->x = (*env)->GetIntField(env, lpObject, lpCache->x); 1536 lpStruct->y = (*env)->GetIntField(env, lpObject, lpCache->y); 1537 lpStruct->cx = (*env)->GetIntField(env, lpObject, lpCache->cx); 1538 lpStruct->cy = (*env)->GetIntField(env, lpObject, lpCache->cy); 1539 lpStruct->fs = (*env)->GetIntField(env, lpObject, lpCache->fs); 1540 { 1541 jobject prclClip = (*env)->GetObjectField(env, lpObject, lpCache->rclClip); 1542 if (prclClip){ 1543 if(&(lpStruct->rclClip)){ 1544 getRECTLFields(env, prclClip, &(lpStruct->rclClip), &PGLOB(RECTLFc)); 1545 } 1546 } 1547 } 1548 return lpStruct; 1549 } 1550 1551 void setCURSORINFOFields(JNIEnv *env, jobject lpObject, PCURSORINFO lpStruct, PCURSORINFO_FID_CACHE lpCache) 1552 { 1553 if (!lpCache->cached) cacheCURSORINFOFids(env, lpObject, lpCache); 1554 (*env)->SetIntField(env, lpObject, lpCache->hwnd, lpStruct->hwnd); 1555 (*env)->SetIntField(env, lpObject, lpCache->x, lpStruct->x); 1556 (*env)->SetIntField(env, lpObject, lpCache->y, lpStruct->y); 1557 (*env)->SetIntField(env, lpObject, lpCache->cx, lpStruct->cx); 1558 (*env)->SetIntField(env, lpObject, lpCache->cy, lpStruct->cy); 1559 (*env)->SetIntField(env, lpObject, lpCache->fs, lpStruct->fs); 1560 { 1561 jobject prclClip = (*env)->GetObjectField(env, lpObject, lpCache->rclClip); 1562 if (prclClip && &(lpStruct->rclClip)) 1563 setRECTLFields(env, prclClip, &(lpStruct->rclClip), &PGLOB(RECTLFc)); 1564 } 1565 } 1566 1567 /***************************************** POINTL struct ***************************************/ 1568 1569 void cachePOINTLFids(JNIEnv *env, jobject lpObject, PPOINTL_FID_CACHE lpCache) 1570 { 1571 if (lpCache->cached) return; 1572 lpCache->clazz = (*env)->GetObjectClass(env, lpObject); 1573 lpCache->x = (*env)->GetFieldID(env, lpCache->clazz, "x", "I"); 1574 lpCache->y = (*env)->GetFieldID(env, lpCache->clazz, "y", "I"); 1575 lpCache->cached = 1; 1576 } 1577 1578 PPOINTL getPOINTLFields(JNIEnv *env, jobject lpObject, PPOINTL lpStruct, PPOINTL_FID_CACHE lpCache) 1579 { 1580 if (!lpCache->cached) cachePOINTLFids(env, lpObject, lpCache); 1581 lpStruct->x = (*env)->GetIntField(env, lpObject, lpCache->x); 1582 lpStruct->y = (*env)->GetIntField(env, lpObject, lpCache->y); 1583 return lpStruct; 1584 } 1585 1586 void setPOINTLFields(JNIEnv *env, jobject lpObject, PPOINTL lpStruct, PPOINTL_FID_CACHE lpCache) 1587 { 1588 if (!lpCache->cached) cachePOINTLFids(env, lpObject, lpCache); 1589 (*env)->SetIntField(env, lpObject, lpCache->x, lpStruct->x); 1590 (*env)->SetIntField(env, lpObject, lpCache->y, lpStruct->y); 1591 } 1592 1593 /***************************************** FACENAMEDESC struct ********************************************/ 1514 1594 /*@@TODO (dmik): don't need, remove! 1515 1595 void cacheFACENAMEDESCFids(JNIEnv *env, jobject lpObject, PFACENAMEDESC_FID_CACHE lpCache) -
trunk/src/plugins/org.eclipse.swt/Eclipse SWT PI/pm/library/structs.h
r79 r123 1 1 /* 2 2 * OS/2 version. 3 * Copyright (c) 2002, 200 4EclipseOS2 Team.3 * Copyright (c) 2002, 2008 EclipseOS2 Team. 4 4 */ 5 5 … … 533 533 void setACCELTABLEFields(JNIEnv *env, jobject lpObject, PACCELTABLE lpStruct, PACCELTABLE_FID_CACHE lpCache); 534 534 535 /* CURSORINFO struct */ 536 typedef struct CURSORINFO_FID_CACHE { 537 int cached; 538 jclass clazz; 539 jfieldID 540 hwnd, 541 x, 542 y, 543 cx, 544 cy, 545 fs, 546 rclClip; 547 } CURSORINFO_FID_CACHE; 548 typedef CURSORINFO_FID_CACHE *PCURSORINFO_FID_CACHE; 549 550 void cacheCURSORINFOFids(JNIEnv *env, jobject lpObject, PCURSORINFO_FID_CACHE lpCache); 551 PCURSORINFO getCURSORINFOFields(JNIEnv *env, jobject lpObject, PCURSORINFO lpStruct, PCURSORINFO_FID_CACHE lpCache); 552 void setCURSORINFOFields(JNIEnv *env, jobject lpObject, PCURSORINFO lpStruct, PCURSORINFO_FID_CACHE lpCache); 553 554 /* POINTL struct */ 555 typedef struct POINTL_FID_CACHE { 556 int cached; 557 jclass clazz; 558 jfieldID 559 x, 560 y; 561 } POINTL_FID_CACHE; 562 typedef POINTL_FID_CACHE *PPOINTL_FID_CACHE; 563 564 void cachePOINTLFids(JNIEnv *env, jobject lpObject, PPOINTL_FID_CACHE lpCache); 565 PPOINTL getPOINTLFields(JNIEnv *env, jobject lpObject, PPOINTL lpStruct, PPOINTL_FID_CACHE lpCache); 566 void setPOINTLFields(JNIEnv *env, jobject lpObject, PPOINTL lpStruct, PPOINTL_FID_CACHE lpCache); 567 568 535 569 /* FACENAMEDESC struct */ 536 570 /*@@TODO (dmik): remove! … … 576 610 extern ACCEL_FID_CACHE ACCELFc; 577 611 extern ACCELTABLE_FID_CACHE ACCELTABLEFc; 612 extern CURSORINFO_FID_CACHE CURSORINFOFc; 613 extern POINTL_FID_CACHE POINTLFc; 578 614 /*@@TODO (dmik): remove! 579 615 extern FACENAMEDESC_FID_CACHE FACENAMEDESCFc; -
trunk/src/plugins/org.eclipse.swt/Eclipse SWT PI/pm/library/swt.c
r120 r123 1493 1493 return rc; 1494 1494 } 1495 1495 JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_pm_OS_WinQueryCursorInfo 1496 (JNIEnv *env, jclass that, jint hwndDeskTop, jobject pcsriCursorInfo) 1497 { 1498 CURSORINFO c_pcsriCursorInfo, *c_ppcsriCursorInfo = NULL; 1499 jboolean rc; 1500 DEBUG_CALL("WinQueryCursorInfo\n") 1501 1502 if (pcsriCursorInfo) c_ppcsriCursorInfo = getCURSORINFOFields(env, pcsriCursorInfo, &c_pcsriCursorInfo, &PGLOB(CURSORINFOFc)); 1503 1504 rc = (jboolean)WinQueryCursorInfo((HWND)hwndDeskTop, c_ppcsriCursorInfo); 1505 1506 if (pcsriCursorInfo) setCURSORINFOFields(env, pcsriCursorInfo, c_ppcsriCursorInfo, &PGLOB(CURSORINFOFc)); 1507 1508 return rc; 1509 } 1510 JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_pm_OS_WinWindowFromPoint 1511 (JNIEnv *env, jclass that, jint hab, jint hwndParent, jobject pptlPoint, jboolean fEnumChildren) 1512 { 1513 POINTL c_pptlPoint, *c_ppptlPoint = NULL; 1514 jint rc; 1515 DEBUG_CALL("WinWindowFromPoint\n") 1516 1517 if (pptlPoint) c_ppptlPoint = getPOINTLFields(env, pptlPoint, &c_pptlPoint, &PGLOB(POINTLFc)); 1518 1519 rc = (jint)WinWindowFromPoint((HWND)hwndParent, c_ppptlPoint, fEnumChildren); 1520 1521 if (pptlPoint) setPOINTLFields(env, pptlPoint, c_ppptlPoint, &PGLOB(POINTLFc)); 1522 1523 return rc; 1524 1525 } 1496 1526 JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_pm_OS_PrfQueryProfileSize 1497 1527 (JNIEnv *env, jclass that, jint hini, jobject pszApp, jobject pszKey,
Note:
See TracChangeset
for help on using the changeset viewer.