Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
Alchemy Viewer
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Deploy
Releases
Package registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Silent mode is enabled
All outbound communications are blocked.
Learn more
.
Show more breadcrumbs
Alchemy Archive
Alchemy Viewer
Commits
0a955ae5
Commit
0a955ae5
authored
15 years ago
by
Tofu Linden
Browse files
Options
Downloads
Plain Diff
Merge.
parents
b9852dde
19469efc
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
indra/newview/lltooldraganddrop.cpp
+60
-7
60 additions, 7 deletions
indra/newview/lltooldraganddrop.cpp
indra/newview/lltooldraganddrop.h
+12
-0
12 additions, 0 deletions
indra/newview/lltooldraganddrop.h
with
72 additions
and
7 deletions
indra/newview/lltooldraganddrop.cpp
+
60
−
7
View file @
0a955ae5
...
...
@@ -385,7 +385,7 @@ LLToolDragAndDrop::LLDragAndDropDictionary::LLDragAndDropDictionary()
addEntry
(
DAD_ANIMATION
,
new
DragAndDropEntry
(
&
LLToolDragAndDrop
::
dad3dNULL
,
&
LLToolDragAndDrop
::
dad3dNULL
,
&
LLToolDragAndDrop
::
dad3dGiveInventory
,
&
LLToolDragAndDrop
::
dad3dUpdateInventory
,
&
LLToolDragAndDrop
::
dad3dNULL
));
addEntry
(
DAD_GESTURE
,
new
DragAndDropEntry
(
&
LLToolDragAndDrop
::
dad3dNULL
,
&
LLToolDragAndDrop
::
dad3dActivateGesture
,
&
LLToolDragAndDrop
::
dad3dGiveInventory
,
&
LLToolDragAndDrop
::
dad3dUpdateInventory
,
&
LLToolDragAndDrop
::
dad3dNULL
));
addEntry
(
DAD_LINK
,
new
DragAndDropEntry
(
&
LLToolDragAndDrop
::
dad3dNULL
,
&
LLToolDragAndDrop
::
dad3dNULL
,
&
LLToolDragAndDrop
::
dad3dNULL
,
&
LLToolDragAndDrop
::
dad3dNULL
,
&
LLToolDragAndDrop
::
dad3dNULL
));
addEntry
(
DAD_MESH
,
new
DragAndDropEntry
(
&
LLToolDragAndDrop
::
dad3dNULL
,
&
LLToolDragAndDrop
::
dad3dNULL
,
&
LLToolDragAndDrop
::
dad3dGiveInventory
,
&
LLToolDragAndDrop
::
dad3d
UpdateInventory
,
&
LLToolDragAndDrop
::
dad3dNULL
));
addEntry
(
DAD_MESH
,
new
DragAndDropEntry
(
&
LLToolDragAndDrop
::
dad3dNULL
,
&
LLToolDragAndDrop
::
dad3dNULL
,
&
LLToolDragAndDrop
::
dad3dGiveInventory
,
&
LLToolDragAndDrop
::
dad3d
MeshObject
,
&
LLToolDragAndDrop
::
dad3dNULL
));
// TODO: animation on self could play it? edit it?
// TODO: gesture on self could play it? edit it?
};
...
...
@@ -1086,6 +1086,31 @@ void LLToolDragAndDrop::dropTextureAllFaces(LLViewerObject* hit_obj,
hit_obj
->
sendTEUpdate
();
}
void
LLToolDragAndDrop
::
dropMesh
(
LLViewerObject
*
hit_obj
,
LLInventoryItem
*
item
,
LLToolDragAndDrop
::
ESource
source
,
const
LLUUID
&
src_id
)
{
if
(
!
item
)
{
llwarns
<<
"no inventory item."
<<
llendl
;
return
;
}
LLUUID
asset_id
=
item
->
getAssetUUID
();
BOOL
success
=
handleDropTextureProtections
(
hit_obj
,
item
,
source
,
src_id
);
if
(
!
success
)
{
return
;
}
LLSculptParams
sculpt_params
;
sculpt_params
.
setSculptTexture
(
asset_id
);
sculpt_params
.
setSculptType
(
LL_SCULPT_TYPE_MESH
);
hit_obj
->
setParameterEntry
(
LLNetworkData
::
PARAMS_SCULPT
,
sculpt_params
,
TRUE
);
dialog_refresh_all
();
}
/*
void LLToolDragAndDrop::dropTextureOneFaceAvatar(LLVOAvatar* avatar, S32 hit_face, LLInventoryItem* item)
{
...
...
@@ -2216,10 +2241,10 @@ EAcceptance LLToolDragAndDrop::dad3dRezScript(
return
rv
;
}
EAcceptance
LLToolDragAndDrop
::
dad3d
Texture
Object
(
LLViewerObject
*
obj
,
S32
face
,
MASK
mask
,
BOOL
drop
)
EAcceptance
LLToolDragAndDrop
::
dad3d
ApplyTo
Object
(
LLViewerObject
*
obj
,
S32
face
,
MASK
mask
,
BOOL
drop
,
EDragAndDropType
cargo_type
)
{
lldebugs
<<
"LLToolDragAndDrop::dad3d
Texture
Object()"
<<
llendl
;
lldebugs
<<
"LLToolDragAndDrop::dad3d
ApplyTo
Object()"
<<
llendl
;
// *HACK: In order to resolve SL-22177, we need to block drags
// from notecards and objects onto other objects.
...
...
@@ -2253,13 +2278,24 @@ EAcceptance LLToolDragAndDrop::dad3dTextureObject(
if
(
drop
&&
(
ACCEPT_YES_SINGLE
<=
rv
))
{
if
((
mask
&
MASK_SHIFT
)
)
if
(
cargo_type
==
DAD_TEXTURE
)
{
dropTextureAllFaces
(
obj
,
item
,
mSource
,
mSourceID
);
if
((
mask
&
MASK_SHIFT
))
{
dropTextureAllFaces
(
obj
,
item
,
mSource
,
mSourceID
);
}
else
{
dropTextureOneFace
(
obj
,
face
,
item
,
mSource
,
mSourceID
);
}
}
else
if
(
cargo_type
==
DAD_MESH
)
{
dropMesh
(
obj
,
item
,
mSource
,
mSourceID
);
}
else
{
dropTextureOneFace
(
obj
,
face
,
item
,
mSource
,
mSourceID
)
;
llwarns
<<
"unsupported asset type"
<<
llendl
;
}
// VEFFECT: SetTexture
...
...
@@ -2273,6 +2309,23 @@ EAcceptance LLToolDragAndDrop::dad3dTextureObject(
// enable multi-drop, although last texture will win
return
ACCEPT_YES_MULTI
;
}
EAcceptance
LLToolDragAndDrop
::
dad3dTextureObject
(
LLViewerObject
*
obj
,
S32
face
,
MASK
mask
,
BOOL
drop
)
{
return
dad3dApplyToObject
(
obj
,
face
,
mask
,
drop
,
DAD_TEXTURE
);
}
EAcceptance
LLToolDragAndDrop
::
dad3dMeshObject
(
LLViewerObject
*
obj
,
S32
face
,
MASK
mask
,
BOOL
drop
)
{
return
dad3dApplyToObject
(
obj
,
face
,
mask
,
drop
,
DAD_MESH
);
}
/*
EAcceptance LLToolDragAndDrop::dad3dTextureSelf(
LLViewerObject* obj, S32 face, MASK mask, BOOL drop)
...
...
This diff is collapsed.
Click to expand it.
indra/newview/lltooldraganddrop.h
+
12
−
0
View file @
0a955ae5
...
...
@@ -154,6 +154,8 @@ protected:
MASK
mask
,
BOOL
drop
);
EAcceptance
dad3dTextureObject
(
LLViewerObject
*
obj
,
S32
face
,
MASK
mask
,
BOOL
drop
);
EAcceptance
dad3dMeshObject
(
LLViewerObject
*
obj
,
S32
face
,
MASK
mask
,
BOOL
drop
);
// EAcceptance dad3dTextureSelf(LLViewerObject* obj, S32 face,
// MASK mask, BOOL drop);
EAcceptance
dad3dWearItem
(
LLViewerObject
*
obj
,
S32
face
,
...
...
@@ -185,6 +187,11 @@ protected:
EAcceptance
dad3dActivateGesture
(
LLViewerObject
*
obj
,
S32
face
,
MASK
mask
,
BOOL
drop
);
// helper called by methods above to handle "application" of an item
// to an object (texture applied to face, mesh applied to shape, etc.)
EAcceptance
dad3dApplyToObject
(
LLViewerObject
*
obj
,
S32
face
,
MASK
mask
,
BOOL
drop
,
EDragAndDropType
cargo_type
);
// set the LLToolDragAndDrop's cursor based on the given acceptance
ECursorType
acceptanceToCursor
(
EAcceptance
acceptance
);
...
...
@@ -253,6 +260,11 @@ public:
LLInventoryItem
*
item
,
ESource
source
,
const
LLUUID
&
src_id
);
static
void
dropMesh
(
LLViewerObject
*
hit_obj
,
LLInventoryItem
*
item
,
ESource
source
,
const
LLUUID
&
src_id
);
//static void dropTextureOneFaceAvatar(LLVOAvatar* avatar,S32 hit_face,
// LLInventoryItem* item)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment