| Index: ppapi/thunk/ppb_font_thunk.cc
 | 
| ===================================================================
 | 
| --- ppapi/thunk/ppb_font_thunk.cc	(revision 0)
 | 
| +++ ppapi/thunk/ppb_font_thunk.cc	(revision 0)
 | 
| @@ -0,0 +1,93 @@
 | 
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved.
 | 
| +// Use of this source code is governed by a BSD-style license that can be
 | 
| +// found in the LICENSE file.
 | 
| +
 | 
| +#include "ppapi/thunk/thunk.h"
 | 
| +#include "ppapi/thunk/enter.h"
 | 
| +#include "ppapi/thunk/ppb_font_api.h"
 | 
| +#include "ppapi/thunk/resource_creation_api.h"
 | 
| +
 | 
| +namespace ppapi {
 | 
| +namespace thunk {
 | 
| +
 | 
| +namespace {
 | 
| +
 | 
| +PP_Resource Create(PP_Instance instance,
 | 
| +                   const PP_FontDescription_Dev* description) {
 | 
| +  EnterFunction<ResourceCreationAPI> enter(instance, true);
 | 
| +  if (enter.failed())
 | 
| +    return 0;
 | 
| +  return enter.functions()->CreateFontObject(instance, description);
 | 
| +}
 | 
| +
 | 
| +PP_Bool IsFont(PP_Resource resource) {
 | 
| +  EnterResource<PPB_Font_API> enter(resource, false);
 | 
| +  return enter.succeeded() ? PP_TRUE : PP_FALSE;
 | 
| +}
 | 
| +
 | 
| +PP_Bool Describe(PP_Resource font_id,
 | 
| +                 PP_FontDescription_Dev* description,
 | 
| +                 PP_FontMetrics_Dev* metrics) {
 | 
| +  EnterResource<PPB_Font_API> enter(font_id, true);
 | 
| +  if (enter.failed())
 | 
| +    return PP_FALSE;
 | 
| +  return enter.object()->Describe(description, metrics);
 | 
| +}
 | 
| +
 | 
| +PP_Bool DrawTextAt(PP_Resource font_id,
 | 
| +                   PP_Resource image_data,
 | 
| +                   const PP_TextRun_Dev* text,
 | 
| +                   const PP_Point* position,
 | 
| +                   uint32_t color,
 | 
| +                   const PP_Rect* clip,
 | 
| +                   PP_Bool image_data_is_opaque) {
 | 
| +  EnterResource<PPB_Font_API> enter(font_id, true);
 | 
| +  if (enter.failed())
 | 
| +    return PP_FALSE;
 | 
| +  return enter.object()->DrawTextAt(image_data, text, position, color, clip,
 | 
| +                                    image_data_is_opaque);
 | 
| +}
 | 
| +
 | 
| +int32_t MeasureText(PP_Resource font_id, const PP_TextRun_Dev* text) {
 | 
| +  EnterResource<PPB_Font_API> enter(font_id, true);
 | 
| +  if (enter.failed())
 | 
| +    return -1;
 | 
| +  return enter.object()->MeasureText(text);
 | 
| +}
 | 
| +
 | 
| +uint32_t CharacterOffsetForPixel(PP_Resource font_id,
 | 
| +                                 const PP_TextRun_Dev* text,
 | 
| +                                 int32_t pixel_position) {
 | 
| +  EnterResource<PPB_Font_API> enter(font_id, true);
 | 
| +  if (enter.failed())
 | 
| +    return -1;
 | 
| +  return enter.object()->CharacterOffsetForPixel(text, pixel_position);
 | 
| +}
 | 
| +
 | 
| +int32_t PixelOffsetForCharacter(PP_Resource font_id,
 | 
| +                                const PP_TextRun_Dev* text,
 | 
| +                                uint32_t char_offset) {
 | 
| +  EnterResource<PPB_Font_API> enter(font_id, true);
 | 
| +  if (enter.failed())
 | 
| +    return -1;
 | 
| +  return enter.object()->PixelOffsetForCharacter(text, char_offset);
 | 
| +}
 | 
| +
 | 
| +const PPB_Font_Dev g_ppb_font_thunk = {
 | 
| +  &Create,
 | 
| +  &IsFont,
 | 
| +  &Describe,
 | 
| +  &DrawTextAt,
 | 
| +  &MeasureText,
 | 
| +  &CharacterOffsetForPixel,
 | 
| +  &PixelOffsetForCharacter
 | 
| +};
 | 
| +
 | 
| +}  // namespace
 | 
| +
 | 
| +const PPB_Font_Dev* GetPPB_Font_Thunk() {
 | 
| +  return &g_ppb_font_thunk;
 | 
| +}
 | 
| +
 | 
| +}  // namespace thunk
 | 
| +}  // namespace ppapi
 | 
| 
 | 
| Property changes on: ppapi/thunk/ppb_font_thunk.cc
 | 
| ___________________________________________________________________
 | 
| Added: svn:eol-style
 | 
|    + LF
 | 
| 
 | 
| 
 |