Clase wxPenList
Sólo hay una instancia de esta clase: wxThePenList.
Utilizar este objeto para buscar una pluma previamente creada del tipo deseado y crearla si aún no se ha encontrado. En algunos sistemas de ventanas, la pluma puede ser un recurso escaso, por lo que puede merecer la pena reutilizar recursos antiguos si es posible. Cuando una aplicación finaliza, todas las plumas se borran y sus recursos se liberan, eliminando la posibilidad de "fugas de memoria". Sin embargo, es mejor no confiar en esta limpieza automática porque puede llevar a un doble borrado en algunas circunstancias.
Hay dos mecanismos en las versiones recientes de wxWidgets que hacen que la lista de plumas sea menos útil de lo que era antes. En Windows, los recursos escasos se limpian internamente si no se están utilizando. Además, un mecanismo de recuento de referencias aplicado a todos los objetos GDI significa que es posible compartir en cierta medida los recursos subyacentes. No se tiene que hacer un seguimiento de los punteros, ni averiguar cuándo es seguro borrar una pluma, porque el recuento de referencias lo hace por automáticamente. Por ejemplo, se puede establecer una pluma en un contexto de dispositivo, y luego borrar inmediatamente la pluma que se le pasóe, porque esa pluma está "copiada".
Así que puede que resulte más fácil ignorar la lista de plumas, y en su lugar crear y copiar plumas como mejor parezca. Si el medidor de recursos de Windows sugiere que la aplicación está utilizando demasiados recursos, se puede recurrir al uso de listas GDI para compartir objetos explícitamente.
El único uso convincente de la lista de plumas es para que wxWidgets mantenga un registro de los plumas con el fin de limpiarlos al salir. También se mantiene por compatibilidad con versiones anteriores de wxWidgets.
Funciones miembro
wxPenList()
wxPenList::wxPenList()
Constructor.
La aplicación no debe construir su propia lista de plumas: utilizar el puntero del objeto wxThePenList.
FindOrCreatePen()
wxPen* wxPenList::FindOrCreatePen( const wxColour & colour, int width = 1, wxPenStyle style = wxPENSTYLE_SOLID )
Encuentra una pluma con los atributos especificados y lo devuelve, si no, crea una nueva pluma, la añade a la lista de plumas y la devuelve.
Parámetros
- colour
- Objeto de color.
- width
- Anchura del lápiz.
- style
- Estilo del bolígrafo. Ver wxPenStyle para una lista de estilos.