test: metrics.c File Reference

Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

# metrics.c File Reference

`#include "precomp.h"`

Go to the source code of this file.

## Functions

void | MenuRecalc (void)
VOID | xxxRecreateSmallIcons (PWND pwnd)

## Function Documentation

void MenuRecalc | ( | void |  | ) |

Definition at line 20 of file metrics.c.

References tagSHAREDINFO::aheList, _HANDLEENTRY::bType, tagMENU::cItems, tagITEM::cxBmp, tagMENU::cxMenu, tagMENU::cyMenu, DWORD, giheLast, gSharedInfo, MNIS_MEASUREBMP, _HANDLEENTRY::phead, tagMENU::rgItems, TYPE_MENU, UINT, tagITEM::ulWidth, tagITEM::ulX, and UNDERLINE_RECALC.

Referenced by xxxSetAndDrawNCMetrics().

    00021 {
    00022     PMENU   lpMenu;
    00023     UINT    iItem;
    00024     PHE     pheT;
    00025     DWORD   i;
    00026
    00027     /*
    00028      *  for (ppi = gppiFirst; ppi; ppi = ppi->ppiNext)
    00029      *  {
    00030      *      for (pMenu = ppi->lpMenus; TESTFAR(lpMenu); lpMenu = lpMenu->lpMenuNext)
    00031      *      {
    00032      *
    00033      * That was the Chicao way of walking the objects.  In NT, we
    00034      * walk the handle table.
    00035      */
    00036     for (pheT = gSharedInfo.aheList, i = 0; i <= giheLast; i++, pheT++) {
    00037
    00038         if (pheT->bType == TYPE_MENU) {
    00039             /*
    00040              * Get a pointer to the menu.
    00041              */
    00042             lpMenu = (PMENU)pheT->phead;
    00043
    00044             /*
    00045              * Set menu size to 0 so it recalculates later when we go to
    00046              * draw it again.
    00047              */
    00048             lpMenu->cxMenu = 0;
    00049             lpMenu->cyMenu = 0;
    00050
    00051             /*
    00052              * Reset mnemonic underline info
    00053              */
    00054             for (iItem = 0; iItem < lpMenu->cItems; iItem++) {
    00055                 lpMenu->rgItems[iItem].ulX = UNDERLINE_RECALC;
    00056                 lpMenu->rgItems[iItem].ulWidth = 0;
    00057                 lpMenu->rgItems[iItem].cxBmp = MNIS_MEASUREBMP;
    00058             }
    00059         }
    00060     }
    00061 }

VOID xxxRecreateSmallIcons | ( | PWND | pwnd | ) |

Definition at line 75 of file metrics.c.

References _GetProp(), tagSERVERINFO::atomIconProp, BOOL, CheckLock, DestroyClassSmIcon(), DestroyWindowSmIcon(), gpsi, MAKEINTATOM, tagWND::pcls, PROPF_INTERNAL, TestWF, TRUE, VOID(), WFSMQUERYDRAGICON, xxxCreateClassSmIcon(), and xxxCreateWindowSmIcon().

Referenced by xxxDWP_SetIcon().

    00076 {
    00077     BOOL    fSmQueryDrag;
    00078
    00079     CheckLock(pwnd);
    00080
    00081     if (DestroyClassSmIcon(pwnd->pcls))
    00082         xxxCreateClassSmIcon(pwnd->pcls);
    00083
    00084     fSmQueryDrag = (TestWF(pwnd, WFSMQUERYDRAGICON) != 0);
    00085     if (DestroyWindowSmIcon(pwnd) && !fSmQueryDrag)
    00086         xxxCreateWindowSmIcon(pwnd, (HICON)_GetProp(pwnd, MAKEINTATOM(gpsi->atomIconProp), PROPF_INTERNAL), TRUE);
    00087 }