Esempio n. 1
0
void SkGridView::onDraw(SkCanvas* canvas)
{
	this->INHERITED::onDraw(canvas);

	canvas->drawPaint(fPaint[kBG_Attr]);

	if (fSource == NULL)
		return;

#if 0
	int	visibleCount = SkMin32(fVisibleRowCount, fSource->countRows() - fScrollIndex);
	if (visibleCount == 0)
		return;

	this->ensureStrCache(visibleCount);
	int currIndex = this->logicalToVisualIndex(fCurrIndex);
#endif

	SkPaint	p;
	for (int i = 0; i < fSource->countRows(); i++)
	{
		bool	 forced = false;
		SkEvent* evt = fSource->getEvent(i);
		SkASSERT(evt);
		SkString path(evt->findString("path"));
		delete evt;

		SkBitmapRef* bmr = SkBitmapRef::Decode(path.c_str(), false);
		if (bmr == NULL)
		{
			bmr = SkBitmapRef::Decode(path.c_str(), true);
			if (bmr)
				forced = true;
		}

		if (bmr)
		{
			SkAutoTDelete<SkBitmapRef>	autoRef(bmr);
			SkRect	r;
			if (!this->getCellRect(i, &r))
				break;
			copybits(canvas, bmr->bitmap(), r, p);
		}
		// only draw one forced bitmap at a time
		if (forced)
		{
			this->inval(NULL);	// could inval only the remaining visible cells...
			break;
		}
	}

	// draw the hilite
	{
		SkRect	r;
		if (fCurrIndex >= 0 && this->getCellRect(fCurrIndex, &r))
			canvas->drawRect(r, fPaint[kHiliteCell_Attr]);
	}
}
Esempio n. 2
0
	// 处理透传的数据
	bool CCarService::Process( unsigned int fd, const char *data, int len , unsigned int cmd , const char *id )
	{
		// printf( "recv data length: %d\n" , len ) ;
		IPacket *msg = _packfactory->UnPack( data, len ) ;
		// 拆分消息头部
		if ( msg == NULL) {
			OUT_ERROR( NULL, 0, id , "Truck process data length error, len %d" , len ) ;
			return false ;
		}

		// 自动释放对象
		CAutoRelease autoRef(msg);

		// 解析数据类型
		unsigned short msg_type = msg->_header._type;
		// 接收着数据
		OUT_RECV( NULL, 0, id, "Truck process recv fd %d, msg type %4x" , fd, msg_type ) ;
		// 解析对应的协议
		switch( msg_type )
		{
		// 车后业务
		case UP_DISCOUNT_INFO_REQ:// 0x1029 查询打折优惠信息
			_srvCaller->getUpQueryDiscountInfoReq( fd, cmd, (CQueryDiscountInfoReq*) msg , id);
			break;
		case UP_DETAIL_DISCOUNT_INFO_REQ: //0x102A 查询具体打折优惠信息
			_srvCaller->getUpQueryDetailDiscountInfoReq( fd, cmd, (CQueryDetailiscountInfoReq*) msg , id);
			break;
		case UP_UNION_BUSINESS_INFO_REQ: //0x102C 查询联盟商家信息
			_srvCaller->getUpQueryUnionBusinessInfoReq( fd, cmd, (CQueryUnionBusinessInfoReq*) msg , id);
			break;
		case UP_DETAIL_UNION_BUSINESS_INFO_REQ: //0x102D 查询联盟具体商家信息
			_srvCaller->getUpQueryDetailUnionBusinessInfoReq( fd, cmd, (CQueryDetailUnionBusinessInfoReq*) msg , id);
			break;
		case TERMINAL_COMMON_RSP://终端通用应答
			_srvCaller->putTerminalCommonRsp( fd, cmd, (CTerminalCommonRsp*) msg , id);
			break;
		case UP_LOGIN_INFO_REQ://0x1001 用户登录
			_srvCaller->getUpLoginInfoReq( fd, cmd, (CLoginInfoReq*) msg , id);
			break;
		case UP_QUERY_BALLANCE_LIST_REQ://0x1002 联名卡余额查询
			_srvCaller->getUpQueryBallanceListReq( fd, cmd,(CQuery_Ballance_List_Req*)msg,id);
			break;
		case UP_QUERY_STORE_LIST_REQ://0x1003 查询门店
			_srvCaller->getUpQueryStoreListReq( fd, cmd,(CQuery_Store_List_Req*)msg,id);
			break;
		case UP_QUERY_VIEW_STORE_INFO_REQ://0x1004  查询门店详情
			_srvCaller->getUpQueryViewStoreInfoReq( fd, cmd,(CView_Store_Info_Req*)msg,id);
			 break;
		case UP_QUERY_DISCOUNT_LIST_REQ://0x1005  新版本查询优惠信息
			_srvCaller->getUpQueryDiscountListReq( fd, cmd,(CQuery_Discount_List_Req*)msg,id);
		   break;
		case UP_VIEW_DISCOUNT_INFO_REQ://0x1006  新版本查询优惠信息详细列表
			_srvCaller->getUpViewDiscountInfoReq( fd, cmd,(CView_Discount_Info_Req*)msg,id);
		   break;
		case UP_QUERY_TRADE_LIST_REQ://0x1007 历史交易记录查询
			_srvCaller->getUpQueryTradeListReq( fd, cmd,(CQuery_Trade_List_Req*)msg,id);
			break;
		case UP_QUERY_FAVORITE_LIST_REQ://0x1008 查询收藏列表
			_srvCaller->getUpQueryFavoriteListReq(fd, cmd,(CQuery_Favorite_List_Req*)msg,id);
			break;
		case UP_VIEW_FAVORITE_INFO_REQ://0x1009 查询收藏列表详情
			_srvCaller->getUpViewFavoriteInfoReq(fd, cmd,(CView_Favorite_Info_Req*)msg,id);
			break;
		case UP_ADD_FAVORITE_REQ://0x100A 添加收藏请求
			_srvCaller->getUpAddFavoriteReq(fd, cmd,(CAdd_Favorite_Req*)msg,id);
			break;
		case UP_DEL_FAVORITE_REQ ://0x100B 删除收藏请求
			_srvCaller->getUpDelFavoriteReq(fd, cmd,(CDel_Favorite_Req*)msg,id);
			break;
		case UP_GET_DESTINATION_REQ://0x100C 获取目的地
			_srvCaller->getUpGetDestinationReq(fd, cmd,(CGet_Destination_Req*)msg,id);
			break;
		default:
			break;
		}

		// 释放数据
		return true;
	}