fbs/fontandbitmapserver/sfbs/FBSFONT.CPP
changeset 116 171fae344dd4
parent 103 2717213c588a
equal deleted inserted replaced
103:2717213c588a 116:171fae344dd4
    83 	}
    83 	}
    84 	
    84 	
    85 EXPORT_C void CFbsFont::Reset()
    85 EXPORT_C void CFbsFont::Reset()
    86 	{
    86 	{
    87 	if (iHandle)
    87 	if (iHandle)
       
    88 	    {
    88 		iFbs->SendCommand(EFbsMessClose,iHandle);
    89 		iFbs->SendCommand(EFbsMessClose,iHandle);
       
    90 	    }
    89 	iHandle = 0;
    91 	iHandle = 0;
    90 	}
    92 	}
    91 	
    93 	
    92 EXPORT_C CBitmapFont* CFbsFont::Address() const
    94 EXPORT_C CBitmapFont* CFbsFont::Address() const
    93 	{
    95 	{
   113 	if (!iFbs)
   115 	if (!iFbs)
   114 		return KErrCouldNotConnect;
   116 		return KErrCouldNotConnect;
   115 	if (!aFontHandle)
   117 	if (!aFontHandle)
   116 		return KErrUnknown;
   118 		return KErrUnknown;
   117 	// close any existing handle
   119 	// close any existing handle
   118 	Reset();
   120 	Reset();	
   119 	// ask server to create the duplicate handle
   121 	// ask server to create the duplicate handle
   120 	TPckgBuf<TFontInfo> tfpckg;
   122 	TPckgBuf<TFontInfo> tfpckg;
   121 	TIpcArgs args(aFontHandle,&tfpckg);
   123 	TIpcArgs args(aFontHandle,&tfpckg);
   122 	TInt ret = iFbs->SendCommand(EFbsMessFontDuplicate,args);
   124 	TInt ret = iFbs->SendCommand(EFbsMessFontDuplicate,args);
   123 	if (ret != KErrNone || !tfpckg().iHandle)
   125 	if (ret != KErrNone || !tfpckg().iHandle)
   135 @released
   137 @released
   136 */
   138 */
   137 EXPORT_C TInt CFbsFont::Handle() const
   139 EXPORT_C TInt CFbsFont::Handle() const
   138 	{
   140 	{
   139 	if (!iHandle)
   141 	if (!iHandle)
       
   142 		{
   140 		return 0;
   143 		return 0;
       
   144 		}
   141 	return iServerHandle;
   145 	return iServerHandle;
   142 	}
   146 	}
   143 
   147 
   144 /** Gets how much of the specified descriptor can be displayed in this font without 
   148 /** Gets how much of the specified descriptor can be displayed in this font without 
   145 exceeding the specified width.
   149 exceeding the specified width.
   725 @param aInterfaceId UID of the required extension function
   729 @param aInterfaceId UID of the required extension function
   726 @param aParam Pointer to an arbitrary parameter block that can be used to
   730 @param aParam Pointer to an arbitrary parameter block that can be used to
   727 provide and/or return information to/from the particular extension function,
   731 provide and/or return information to/from the particular extension function,
   728 defaults to NULL.
   732 defaults to NULL.
   729 @return Integer return value from extension function, a system wide error code.
   733 @return Integer return value from extension function, a system wide error code.
       
   734 @panic FBSCLI 31, in debug builds only, if iExtra is NULL when it must not be.
       
   735 @panic FBSCLI 38, in debug builds only, if a reserved error code is returned 
       
   736 	from an extended function.
   730 @internalTechnology
   737 @internalTechnology
   731 @released
   738 @released
   732 */
   739 */
   733 EXPORT_C TInt CFbsFont::DoExtendedFunction(TUid aFunctionId, TAny* aParam) const
   740 EXPORT_C TInt CFbsFont::DoExtendedFunction(TUid aFunctionId, TAny* aParam) const
   734 	{
   741 	{