void WinningRaking::UpdateView() { RewardListInfo* prewardlistinfo = nullptr; prewardlistinfo = g_globalTableConfig.m_RewardListInfo; if (prewardlistinfo) { for(int i = 0;i < 5; i++) { RewardListInfo& info = prewardlistinfo[i]; SetLabelString(m_pRewardNum[i], FormatCash(info.m_uRankID)); SetLabelStringWithBoundWidth(m_pRewardName[i], info.m_strNickName.c_str(), 90); if(info.m_bIfShow) { m_pSpriteFlowers[i]->SetFrameIdx(0); } else { m_pSpriteFlowers[i]->SetFrameIdx(1); } SetLabelString(m_pRewardCount[i], FormatCash(info.m_dRankCount).c_str()); } } char szText[100] = {0}; sprintf(szText, "皇家%s%%奖池", do_fraction(prewardlistinfo->m_uRoyalCount, 2).c_str()); SetLabelString(m_pRewardContext[0], szText); sprintf(szText, "同花顺%s%%奖池", do_fraction(prewardlistinfo->m_uflowersCount,2).c_str()); SetLabelString(m_pRewardContext[1], szText); }
int cutPoly2 (struct Plex *plex) { int result, k; long nx, ny; long i, e, v0, v1; double p1[3], p2[3], p3[3], p4[3]; struct PlexEdge *plexedg; struct PlexVertex *pv0, *pv1; nx = plex -> dimensions[0]; ny = plex -> dimensions[1]; if (!defineGrid (plex)) return (0); /* go through grid lines perpendicular to x-axis */ for (i = 0; i < nx; i++) { for (k = 0; k < 3; k++) { p1[k] = *(plex -> xgrid + 6 * i + k); p2[k] = *(plex -> xgrid + 6 * i + 3 + k); } for (e = 0; e < plex -> n_edge; e++) { plexedg = plex -> plexedges + e; v0 = plexedg -> vns[0]; v1 = plexedg -> vns[1]; pv0 = plex -> plexvertices + (v0-1); pv1 = plex -> plexvertices + (v1-1); for (k = 0; k < 3; k++) { p3[k] = pv0 -> center[k]; p4[k] = pv1 -> center[k]; } result = lines_intersect (p1, p2, p3, p4); if (!result) continue; result = do_fraction (plex, plexedg, p1, p2, p3, p4); if (!result) return (0); } } /* go through grid lines perpendicular to y-axis */ for (i = 0; i < ny; i++) { for (k = 0; k < 3; k++) { p1[k] = *(plex -> ygrid + 6 * i + k); p2[k] = *(plex -> ygrid + 6 * i + 3 + k); } for (e = 0; e < plex -> n_edge; e++) { plexedg = plex -> plexedges + e; v0 = plexedg -> vns[0]; v1 = plexedg -> vns[1]; pv0 = plex -> plexvertices + (v0-1); pv1 = plex -> plexvertices + (v1-1); for (k = 0; k < 3; k++) { p3[k] = pv0 -> center[k]; p4[k] = pv1 -> center[k]; } result = lines_intersect (p1, p2, p3, p4); if (!result) continue; result = do_fraction (plex, plexedg, p1, p2, p3, p4); if (!result) return (0); } } return (1); }
void TextureNumber::UpdateZeroNumber(double dNumber, int size) { if (fabs(m_dNumber - dNumber) >= 0.5f) { m_dNumber = dNumber; std::string strRet; if (m_bNeedFormat) { auto pFunFormat = [](double dValueFormating, double dLow, double dHigh, const std::string& strUnit, std::string& strRet){ if (dValueFormating >= dLow && dValueFormating < dHigh) { double dHigh = dValueFormating / dLow; double dRest = dValueFormating - dLow * unsigned(dHigh); strRet = do_fraction(dHigh, (dRest >= dLow / 100.0f) ? 3 : 0); strRet += strUnit; return true; } return false; }; if (pFunFormat(dNumber, 10000.0f, 100000000.0f, "W", strRet)) { } else if (pFunFormat(dNumber, 100000000.0f, 1000000000000.0f, "Y", strRet)) { } else if (pFunFormat(dNumber, 1000000000000.0f, 10000000000000000.0f, "Z", strRet)) { } else { strRet = do_fraction(dNumber); } } else { strRet = do_fraction(dNumber); } size_t len = strRet.length(); if(strRet.length() < size) { for(int index =(int) 0; index + len < size; index++) strRet.insert(index, "0"); } std::vector<unsigned> vecIdxs; if (m_bHasPreFlag) { if (m_dNumber > 0) { vecIdxs.push_back(10); } else if (m_dNumber < 0) { vecIdxs.push_back(11); } } for (unsigned i = 0; i < strRet.size(); ++i) { char c = strRet[i]; if (c >= '0' && c <= '9') { vecIdxs.push_back(c - '0'); } else if (c == '.') { vecIdxs.push_back(12); } else if (c == 'W') // 万 { vecIdxs.push_back(13); } else if (c == 'Y') // 亿 { vecIdxs.push_back(14); } else if (c == 'Z') // 兆 { vecIdxs.push_back(15); } else { continue; } } m_vecNumbers = vecIdxs; ReAdjustFrame(); } }