add scriptable region to unix factory fixes bug 12465 r=slamm

This commit is contained in:
pavlov%netscape.com 1999-11-02 21:57:14 +00:00
parent 69202f5e38
commit 903f9af6c0

View File

@ -25,6 +25,7 @@
#include "nsImageGTK.h"
#include "nsDeviceContextGTK.h"
#include "nsRegionGTK.h"
#include "nsScriptableRegion.h"
#include "nsBlender.h"
#include "nsDeviceContextSpecG.h"
#include "nsDeviceContextSpecFactoryG.h"
@ -36,6 +37,7 @@ static NS_DEFINE_IID(kCRenderingContext, NS_RENDERING_CONTEXT_CID);
static NS_DEFINE_IID(kCImage, NS_IMAGE_CID);
static NS_DEFINE_IID(kCDeviceContext, NS_DEVICE_CONTEXT_CID);
static NS_DEFINE_IID(kCRegion, NS_REGION_CID);
static NS_DEFINE_IID(kCScriptableRegion, NS_SCRIPTABLE_REGION_CID);
static NS_DEFINE_IID(kCBlender, NS_BLENDER_CID);
@ -127,6 +129,14 @@ nsresult nsGfxFactoryGTK::CreateInstance(nsISupports *aOuter,
NS_NEWXPCOM(dcs, nsRegionGTK);
inst = (nsISupports *)dcs;
}
else if (mClassID.Equals(kCScriptableRegion)) {
nsCOMPtr<nsIRegion> rgn;
NS_NEWXPCOM(rgn, nsRegionGTK);
if (rgn != nsnull) {
nsCOMPtr<nsIScriptableRegion> scriptableRgn = new nsScriptableRegion(rgn);
inst = scriptableRgn;
}
}
else if (mClassID.Equals(kCBlender)) {
inst = (nsISupports *)new nsBlender;
}