![]()  | 
![]()  | 
![]()  | 
![]()  | 
![]()  | 
This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs. | 
Assign a context to a local font server
#include <font_api.h>
int PfAssignDllCx( struct _Pf_ctrl * context,
                   fontdll_t dll );
font
This function assigns the dll to the font context, context.
/* A PtHook example.  Initializes a client level font server
 * instance for any application that invokes PtInit(), and has
 * knowledge of this hook.
 */
#include <font_api.h>
#include <photon/PhProto.h>
#include <stdlib.h>
#include <unistd.h>
static fontdll_t dll;
extern struct _Ph_ctrl *_Ph_;
static void cleanup_hook(void)
{  PfAssignDllCx(_Ph_->font, NULL);
   PfDetachLocalDll(dll);
   dll = NULL;
}
int PtHook(void * data)
{  if(data != NULL)
   {  if((dll = PfAttachLocalDll(NULL, NULL)) == NULL)
        return(0);
      else
      {  if(PfAssignDllCx(_Ph_->font, dll) == -1)
         {  PfDetachLocalDll(dll);
            return(0);
         }
         else
         {  if(access("/dev/fontsleuthctrl", F_OK) == 0)
              if(PfAttachSleuthMonitorDll(dll, -1) == -1)
              {  PfAssignDllCx(_Ph_->font, NULL);
                 PfDetachLocalDll(dll);
                 return(0);
              }
            if(atexit(cleanup_hook) != 0)
            {  PfAssignDllCx(_Ph_->font, NULL);
               PfDetachLocalDll(dll);
               return(0);
            }
         }
      }
   }
   else
     return(0);
   return(1);
}
Photon
| Safety: | |
|---|---|
| Cancellation point | No | 
| Interrupt handler | No | 
| Signal handler | No | 
| Thread | Yes | 
PfAttachCx(), PfAttachDllCx(), PfAttachLocalDll()
Fonts chapter of the Photon Programmer's Guide
![]()  | 
![]()  | 
![]()  | 
![]()  |