示例#1
0
int FacebookProto::GetInfo(MCONTACT hContact, int infoType)
{
	ptrA user_id(getStringA(hContact, FACEBOOK_KEY_ID));

	if (user_id == NULL)
		return 1;
	
	facebook_user fbu;
	fbu.user_id = user_id;

	LoadContactInfo(&fbu);

	// TODO: don't duplicate code this way, refactor all this userInfo loading
	// TODO: load more info about user (authorization state,...)

	std::string homepage = FACEBOOK_URL_PROFILE + fbu.user_id;
	setString(hContact, "Homepage", homepage.c_str());

	if (!fbu.real_name.empty()) {
		SaveName(hContact, &fbu);
	}

	if (fbu.gender)
		setByte(hContact, "Gender", fbu.gender);

	CheckAvatarChange(hContact, fbu.image_url);

	return 1;
}
示例#2
0
static int CreatePS(int device, char *name)
{
  if (SaveName(device, name)) return 1;

  outEngines[device]=
    GpPSEngine("CGM Viewer", cgmLandscape, 0, name);
  if (!outEngines[device]) {
    Warning(gistError, "");
    Warning("Unable to create PostScript engine ", name);
    return 1;
  }

  outTypes[device]= 1;
  outDraw[device]= 0;
  outSend[device]= 1;

  return 0;
}
示例#3
0
static int CreateX(int device, char *name)
{
  if (SaveName(device, name)) return 1;

  gist_input_hint = 1;
  outEngines[device]=
    GpBXEngine("CGM Viewer", cgmLandscape, defaultDPI, name);
  if (!outEngines[device]) {
    Warning(gistError, "");
    Warning("Unable to open X server ", name? name : "(default)");
    return 1;
  }

  outTypes[device]= 2;
  outDraw[device]= 1;
  outSend[device]= 0;

  GxInput(outEngines[device], &HandleExpose, 0, 0, &HandleOther);

  return 0;
}
示例#4
0
	//************************************************
	//*初始化DirectX 3D
	//************************************************
	HRESULT t1::InitD3D(HWND hWnd)
	{
		m_TestState = STATE_DISPLAYINSTURCTION;
		m_TrialNo = -1;
		m_bDisplayReady = TRUE;
		m_PointTime = NULL;

		if (m_Setting.m_iJoyMoveDirection == 0)
			iJoyMoveDirection = 1;
		else
			iJoyMoveDirection = -1;

		if (m_Setting.m_PracMode == 1)
		{
			m_TrialType = TRIAL_PRACTICE;
		}
		else
		{
			m_TrialType = TRIAL_EXPERMENT;
		}
		//材质大小
		//	SetRect( &rct, 0, 0, 128, 128 );
		SetRect(&strurect, x_resolution / 2 - 300 * FontScale, y_resolution / 2 - 180 * FontScale, x_resolution / 2 + 300 * FontScale, y_resolution / 2 + 20 * FontScale);
		SetRect(&erect, x_resolution / 2 - 300 * FontScale, y_resolution / 2 - 100 * FontScale, x_resolution / 2 + 300 * FontScale, y_resolution / 2 + 100 * FontScale);
		SetRect(&txtrect, x_resolution / 2 - 100 * FontScale + 5, y_resolution / 2 - 30 * FontScale + 1, x_resolution / 2 + 100 * FontScale - 5, y_resolution / 2 + 20 * FontScale - 1);
		SetRect(&lerect, x_resolution / 2 - 250 * FontScale, y_resolution / 2 - 50 * FontScale, x_resolution / 2 - 50 * FontScale, y_resolution / 2 + 100 * FontScale);
		SetRect(&rerect, x_resolution / 2 + 50 * FontScale, y_resolution / 2 - 50 * FontScale, x_resolution / 2 + 250 * FontScale, y_resolution / 2 + 100 * FontScale);

		if (NULL == (g_pD3D = Direct3DCreate9(D3D_SDK_VERSION)))
		{
			return E_FAIL;
		}

		D3DPRESENT_PARAMETERS d3dpp;
		ZeroMemory(&d3dpp, sizeof(d3dpp));
		d3dpp.Windowed = TRUE;//FALSE;//
		d3dpp.SwapEffect = D3DSWAPEFFECT_FLIP;//D3DSWAPEFFECT_COPY;//D3DSWAPEFFECT_DISCARD;//
		//   d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;

		D3DDISPLAYMODE d3ddm;
		if (FAILED(g_pD3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &d3ddm)))
		{
			return E_FAIL;
		}

		d3dpp.BackBufferWidth = x_resolution;//d3ddm.Width;//
		d3dpp.BackBufferHeight = y_resolution;//d3ddm.Height;//
		d3dpp.BackBufferFormat = d3ddm.Format;

		if (FAILED(g_pD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
			D3DCREATE_SOFTWARE_VERTEXPROCESSING,
			&d3dpp, &g_pd3dDevice)))
		{
			return E_FAIL;
		}

		g_pd3dDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);

		g_pd3dDevice->SetRenderState(D3DRS_LIGHTING, FALSE);


		//创建精灵
		if (FAILED(D3DXCreateSprite(g_pd3dDevice, &g_pSprite)))
		{
			MessageBox(NULL, TEXT("Could not find banana.bmp"), TEXT("Textures.exe"), MB_OK);
			return E_FAIL;
		}

		//加载纹理图片
		if (m_Setting.m_MoveMode == 0)
		{
			if (m_Setting.m_iJoyMoveDirection == 0) {
				if (FAILED(D3DXCreateTextureFromFile(g_pd3dDevice, TEXT("Pics\\Inst\\ST_tracking.jpg"), &g_pTextureInst)))
				{
					MessageBox(NULL, TEXT("Could not find banana.bmp"), TEXT("Textures.exe"), MB_OK);
					return E_FAIL;
				}
			}
			else {
				if (FAILED(D3DXCreateTextureFromFile(g_pd3dDevice, TEXT("Pics\\Inst\\ST_tracking_a.jpg"), &g_pTextureInst)))
				{
					MessageBox(NULL, TEXT("Could not find banana.bmp"), TEXT("Textures.exe"), MB_OK);
					return E_FAIL;
				}
			}
			
		}
		else
		{
			if (m_Setting.m_iJoyMoveDirection == 0) {
				if (FAILED(D3DXCreateTextureFromFile(g_pd3dDevice, TEXT("Pics\\Inst\\DTtracking_and_rotate.jpg"), &g_pTextureInst)))
				{
					MessageBox(NULL, TEXT("Could not find banana.bmp"), TEXT("Textures.exe"), MB_OK);
					return E_FAIL;
				}
			}
			else {
				if (FAILED(D3DXCreateTextureFromFile(g_pd3dDevice, TEXT("Pics\\Inst\\DTtracking_and_rotate_a.jpg"), &g_pTextureInst)))
				{
					MessageBox(NULL, TEXT("Could not find banana.bmp"), TEXT("Textures.exe"), MB_OK);
					return E_FAIL;
				}
			}

		}
		if (FAILED(D3DXCreateTextureFromFile(g_pd3dDevice, TEXT("Pics\\Task1\\obj_white.bmp"), &g_pTexture0)))
		{
			MessageBox(NULL, TEXT("Could not find banana.bmp"), TEXT("Textures.exe"), MB_OK);
			return E_FAIL;
		}
		if (FAILED(D3DXCreateTextureFromFile(g_pd3dDevice, TEXT("Pics\\Task1\\post_yellow.bmp"), &g_pTexture1)))
		{
			MessageBox(NULL, TEXT("Could not find banana.bmp"), TEXT("Textures.exe"), MB_OK);
			return E_FAIL;
		}
		if (FAILED(D3DXCreateTextureFromFile(g_pd3dDevice, TEXT("Pics\\Task1\\post_red.bmp"), &g_pTexture2)))
		{
			MessageBox(NULL, TEXT("Could not find banana.bmp"), TEXT("Textures.exe"), MB_OK);
			return E_FAIL;
		}

		LOGFONT lf;
		ZeroMemory(&lf, sizeof(LOGFONT));
		lstrcpy(lf.lfFaceName, TEXT("Times New Roman"));
		lf.lfHeight = -16;
		if (FAILED(D3DXCreateFont(g_pd3dDevice, 30 * FontScale, 15 * FontScale, 20,
			0, 0, GB2312_CHARSET, 0, 0, 0, TEXT("宋体"), &g_pFont)))
		{
			return E_FAIL;
		}
		if (FAILED(D3DXCreateFont(g_pd3dDevice, 40 * FontScale, 20 * FontScale, 20,
			0, 0, GB2312_CHARSET, 0, 0, 0, TEXT("宋体"), &g_pFont1)))
		{
			return E_FAIL;
		}
		g_pd3dDevice->SetRenderState(D3DRS_ZENABLE, TRUE);
		//    g_pd3dDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
		g_pd3dDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
		g_pd3dDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
		g_pd3dDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE);
		SaveName();
		return S_OK;
	}
示例#5
0
spv_result_t FriendlyNameMapper::ParseInstruction(
    const spv_parsed_instruction_t& inst) {
  const auto result_id = inst.result_id;
  switch (inst.opcode) {
    case SpvOpName:
      SaveName(inst.words[1], reinterpret_cast<const char*>(inst.words + 2));
      break;
    case SpvOpTypeVoid:
      SaveName(result_id, "void");
      break;
    case SpvOpTypeBool:
      SaveName(result_id, "bool");
      break;
    case SpvOpTypeInt: {
      std::string signedness;
      std::string root;
      const auto bit_width = inst.words[2];
      switch (bit_width) {
        case 8:
          root = "char";
          break;
        case 16:
          root = "short";
          break;
        case 32:
          root = "int";
          break;
        case 64:
          root = "long";
          break;
        default:
          root = to_string(bit_width);
          signedness = "i";
          break;
      }
      if (0 == inst.words[3]) signedness = "u";
      SaveName(result_id, signedness + root);
    } break;
    case SpvOpTypeFloat: {
      const auto bit_width = inst.words[2];
      switch (bit_width) {
        case 16:
          SaveName(result_id, "half");
          break;
        case 32:
          SaveName(result_id, "float");
          break;
        case 64:
          SaveName(result_id, "double");
          break;
        default:
          SaveName(result_id, std::string("fp") + to_string(bit_width));
          break;
      }
    } break;
    case SpvOpTypeVector:
      SaveName(result_id, std::string("v") + to_string(inst.words[3]) +
                              NameForId(inst.words[2]));
      break;
    case SpvOpTypeMatrix:
      SaveName(result_id, std::string("mat") + to_string(inst.words[3]) +
                              NameForId(inst.words[2]));
      break;
    case SpvOpTypeArray:
      SaveName(result_id, std::string("_arr_") + NameForId(inst.words[2]) +
                              "_" + NameForId(inst.words[3]));
      break;
    case SpvOpTypeRuntimeArray:
      SaveName(result_id,
               std::string("_runtimearr_") + NameForId(inst.words[2]));
      break;
    case SpvOpTypePointer:
      SaveName(result_id, std::string("_ptr_") +
                              NameForEnumOperand(SPV_OPERAND_TYPE_STORAGE_CLASS,
                                                 inst.words[2]) +
                              "_" + NameForId(inst.words[3]));
      break;
    case SpvOpTypePipe:
      SaveName(result_id,
               std::string("Pipe") +
                   NameForEnumOperand(SPV_OPERAND_TYPE_ACCESS_QUALIFIER,
                                      inst.words[2]));
      break;
    case SpvOpTypeEvent:
      SaveName(result_id, "Event");
      break;
    case SpvOpTypeDeviceEvent:
      SaveName(result_id, "DeviceEvent");
      break;
    case SpvOpTypeReserveId:
      SaveName(result_id, "ReserveId");
      break;
    case SpvOpTypeQueue:
      SaveName(result_id, "Queue");
      break;
    case SpvOpTypeOpaque:
      SaveName(result_id,
               std::string("Opaque_") +
                   Sanitize(reinterpret_cast<const char*>(inst.words + 2)));
      break;
    case SpvOpTypePipeStorage:
      SaveName(result_id, "PipeStorage");
      break;
    case SpvOpTypeNamedBarrier:
      SaveName(result_id, "NamedBarrier");
      break;
    case SpvOpTypeStruct:
      // Structs are mapped rather simplisitically. Just indicate that they
      // are a struct and then give the raw Id number.
      SaveName(result_id, std::string("_struct_") + to_string(result_id));
      break;
    default:
      // If this instruction otherwise defines an Id, then save a mapping for
      // it.  This is needed to ensure uniqueness in there is an OpName with
      // string something like "1" that might collide with this result_id.
      // We should only do this if a name hasn't already been registered by some
      // previous forward reference.
      if (result_id && name_for_id_.find(result_id) == name_for_id_.end())
        SaveName(result_id, to_string(result_id));
      break;
  }
  return SPV_SUCCESS;
}